:root{color-scheme:dark;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;--app-bg: #151515;--sidebar-bg: #181818;--panel-bg: #1f1f1f;--panel-raised: #262626;--panel-muted: #1a1a1a;--field-bg: #232323;--hover-bg: #2c2c2c;--selected-bg: rgba(151, 122, 255, .18);--selected-border: rgba(151, 122, 255, .48);--line: rgba(226, 215, 190, .13);--line-strong: rgba(226, 215, 190, .22);--text: #eee8dd;--text-muted: #a8a092;--text-soft: #cfc6b8;--accent: #977aff;--accent-strong: #b6a4ff;--accent-deep: #2f255f;--accent-wash: rgba(151, 122, 255, .18);--warm: #c59649;--warm-wash: rgba(197, 150, 73, .18);--danger: #df6b5d;--danger-wash: rgba(223, 107, 93, .14);--paper-bg: #fff;--pdf-bg: #111;--shadow: 0 18px 42px rgba(0, 0, 0, .28);background:var(--app-bg);color:var(--text);font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-height:100vh}body{margin:0;background:var(--app-bg)}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.app-shell{display:grid;grid-template-columns:292px minmax(420px,1fr) minmax(360px,42vw);min-height:100vh}.mobile-topbar,.sidebar-backdrop,.sidebar-close-button{display:none}.app-message{position:fixed;top:18px;right:18px;z-index:40;display:flex;align-items:center;gap:10px;max-width:min(420px,calc(100vw - 36px));border:1px solid var(--line-strong);border-radius:8px;padding:12px 12px 12px 14px;background:#1d211cf5;color:var(--text);box-shadow:var(--shadow)}.app-message.success{border-color:#977aff7a}.app-message.error{border-color:#df6b5d85}.app-message.info{border-color:#c5964975}.maintenance-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:clamp(18px,4vw,48px);background:#08080a94;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.maintenance-dialog{display:grid;width:min(88vw,980px);min-height:min(78vh,720px);align-content:center;gap:22px;border:1px solid rgba(182,164,255,.34);border-radius:8px;background:linear-gradient(145deg,#1f1f1ffa,#111112fa),var(--panel-bg);box-shadow:0 34px 90px #0000009e;padding:clamp(34px,7vw,86px);text-align:center}.maintenance-status{justify-self:center;border:1px solid rgba(197,150,73,.42);border-radius:999px;padding:8px 16px;color:var(--warm);font-size:clamp(14px,1.8vw,19px);font-weight:800;line-height:1.2}.maintenance-dialog h2{max-width:12em;margin:0 auto;color:var(--text);font-size:clamp(38px,6.4vw,74px);font-weight:900;line-height:1.08}.maintenance-dialog p{color:var(--text-soft);font-size:clamp(25px,3.8vw,48px);font-weight:850;line-height:1.18}.maintenance-dialog p span{display:block}.app-message span{font-size:13px;line-height:1.45}.message-close-button{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer}.message-close-button:hover{background:var(--hover-bg);color:var(--text)}.sidebar{display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--line);background:var(--sidebar-bg);padding:24px 18px}.brand-row,.toolbar,.generation-actions,.pdf-header,.plan-strip{display:flex;align-items:center}.brand-row{justify-content:space-between;gap:12px}.brand-actions{display:flex;align-items:center;gap:4px}.brand-main{display:flex;align-items:center;gap:10px;min-width:0}.brand-main>div{min-width:0}.brand-logo{width:34px;height:34px;flex:0 0 34px;border-radius:8px;object-fit:cover}h1,h2,p{margin:0}h1{font-size:20px;line-height:1.25;letter-spacing:0}h2{font-size:17px;line-height:1.35;letter-spacing:0}.brand-row p,.pdf-header span,.empty-history,.pdf-empty,.history-row small{color:var(--text-muted);font-size:13px;line-height:1.45}.icon-button,.primary-button,.secondary-button,.segmented button,.history-row,.history-delete-button{border:0;cursor:pointer}.icon-button{display:grid;place-items:center;width:38px;height:38px;border-radius:8px;background:transparent;color:var(--text-soft)}.icon-button:hover,.secondary-button:hover,.history-row:hover{background:var(--hover-bg)}.brand-actions .sidebar-close-button{display:none}.plan-strip{gap:9px;min-height:44px;border:1px solid rgba(197,150,73,.34);border-radius:8px;padding:0 12px;background:var(--warm-wash)}.plan-strip span{color:var(--text-soft);font-size:13px}.plan-strip strong{margin-left:auto;font-size:15px}.google-login-slot{display:flex;justify-content:center;min-height:44px}.primary-button,.secondary-button,.link-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:56px;border-radius:8px;padding:0 22px;font-weight:700;text-decoration:none}.primary-button{background:var(--accent);color:#fff;box-shadow:0 10px 24px #977aff47}.primary-button:hover:not(:disabled){background:var(--accent-strong)}.primary-button:disabled{background:#977aff75;color:#fff;box-shadow:none;opacity:1}.secondary-button,.link-button{background:var(--field-bg);color:var(--text);border:1px solid var(--line-strong)}.full-width{width:100%}button:disabled,a[aria-disabled=true]{cursor:not-allowed;opacity:.5}.sidebar-section-title{color:var(--text-muted);font-size:13px;font-weight:700;padding-top:10px}.history-list{display:grid;gap:6px;overflow:auto;padding-bottom:18px}.history-row{display:flex;align-items:center;gap:8px;width:100%;border-radius:8px;background:transparent;color:var(--text);padding:12px;text-align:left}.history-row.selected{background:var(--selected-bg);box-shadow:inset 0 0 0 1px var(--selected-border)}.history-row-text{display:grid;min-width:0;gap:4px}.history-row-text span{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.history-delete-button{display:grid;flex:0 0 30px;place-items:center;width:30px;height:30px;margin-left:auto;border-radius:6px;background:transparent;color:var(--text-muted)}.history-delete-button:hover{background:var(--danger-wash);color:var(--danger)}.empty-history{padding:10px 2px}.workspace{display:flex;flex-direction:column;gap:14px;min-width:0;padding:24px}.editor-panel{border:1px solid var(--line);border-radius:8px;background:var(--panel-bg);box-shadow:var(--shadow)}.editor-panel{display:grid;gap:14px;padding:14px}.toolbar{justify-content:flex-end;gap:12px}.segmented{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line-strong);border-radius:8px;background:#090b0952;padding:4px}.segmented button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;border-radius:6px;background:transparent;color:var(--text-muted);padding:0 12px;font-weight:700;transition:background .16s ease,color .16s ease,box-shadow .16s ease}.segmented button.active{background:linear-gradient(180deg,#977aff47,#977aff29);color:#fff;box-shadow:inset 0 0 0 1px var(--selected-border),0 8px 18px #0000002e}.segmented.compact button{min-width:82px}.quality-toggle button:not(.active):hover{background:var(--hover-bg);color:var(--text-soft)}.settings-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.setting-field{display:flex;align-items:center;gap:12px;min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--field-bg);padding:0 12px}.setting-field span{color:var(--text-muted);font-size:13px;font-weight:700;white-space:nowrap}.setting-field select{width:100%;min-width:0;border:0;background:transparent;color:var(--text);font-weight:700;outline:none}.setting-field select option{background:var(--panel-bg);color:var(--text)}.image-input{display:grid;gap:12px}.image-input label{position:relative;display:flex;align-items:center;justify-content:center;gap:10px;min-height:340px;overflow:hidden;border:1px dashed var(--line-strong);border-radius:8px;background:var(--panel-muted);color:var(--text-soft);cursor:pointer;font-weight:700}.image-input.dragging label{border-color:var(--accent);background:var(--accent-wash);box-shadow:inset 0 0 0 2px #977aff3d}.image-input input{display:none}.crop-instruction{color:var(--text-soft);font-size:13px;font-weight:700}.crop-shell{display:flex;justify-content:center;min-height:340px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#090b09;padding:10px}.image-input.dragging .crop-shell{border-color:var(--accent);box-shadow:inset 0 0 0 2px #977aff3d}.crop-stage{position:relative;width:fit-content;max-width:100%;margin:auto;touch-action:none;-webkit-user-select:none;user-select:none}.crop-stage img{display:block;width:auto;max-width:100%;max-height:520px;object-fit:contain}.crop-box{position:absolute;border:2px solid #fff;box-shadow:0 0 0 9999px #0709078a;cursor:move}.crop-box:before,.crop-box:after{position:absolute;content:"";pointer-events:none}.crop-box:before{inset:33.33% 0;border-top:1px solid rgba(255,255,255,.45);border-bottom:1px solid rgba(255,255,255,.45)}.crop-box:after{inset:0 33.33%;border-left:1px solid rgba(255,255,255,.45);border-right:1px solid rgba(255,255,255,.45)}.crop-handle{position:absolute;z-index:2;width:14px;height:14px;border:2px solid #110c25;background:var(--accent-strong)}.crop-handle.nw{top:-8px;left:-8px;cursor:nwse-resize}.crop-handle.ne{top:-8px;right:-8px;cursor:nesw-resize}.crop-handle.sw{bottom:-8px;left:-8px;cursor:nesw-resize}.crop-handle.se{right:-8px;bottom:-8px;cursor:nwse-resize}.generation-actions{display:flex;align-items:center;flex-wrap:wrap;gap:10px;justify-content:flex-end}.generation-actions .primary-button{margin-left:auto}.generate-button{min-width:156px;padding:0 24px}.generate-button:not(:disabled){background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff}.generate-button:hover:not(:disabled){background:linear-gradient(135deg,var(--accent-strong),#c8bcff)}.generate-button:disabled{background:#977aff52;color:#ffffffd1}.pdf-panel{display:flex;min-width:0;flex-direction:column;border-left:1px solid var(--line);background:var(--panel-bg)}.pdf-header{justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid var(--line);padding:0 18px}.pdf-empty{display:grid;flex:1;place-items:center;align-content:center;gap:12px}.pdf-viewer{display:flex;flex:1;min-height:0;flex-direction:column;background:var(--pdf-bg)}.pdf-viewer-toolbar{display:flex;align-items:center;gap:8px;min-height:48px;border-bottom:1px solid var(--line);background:var(--panel-bg);padding:0 12px}.pdf-viewer-toolbar button{display:grid;place-items:center;width:34px;height:34px;border:1px solid var(--line-strong);border-radius:8px;background:var(--field-bg);color:var(--text);cursor:pointer}.pdf-viewer-toolbar button:hover:not(:disabled){background:var(--hover-bg)}.pdf-viewer-toolbar span{min-width:50px;color:var(--text-soft);font-size:13px;font-weight:700;text-align:center}.pdf-viewer-spacer{flex:1}.pdf-viewer-scroll{display:flex;flex:1;min-height:0;overflow:auto;justify-content:center;padding:18px}.pdf-page-shell{position:relative;width:fit-content;height:fit-content;min-width:180px;min-height:240px;background:var(--paper-bg);box-shadow:0 18px 40px #0000006b}.pdf-page-shell canvas{display:block}.pdf-page-loader{position:absolute;top:14px;right:14px;z-index:1;color:var(--text-muted)}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1120px){.app-shell{grid-template-columns:260px minmax(0,1fr)}.pdf-panel{grid-column:1 / -1;min-height:62vh;border-top:1px solid var(--line);border-left:0}}@media(max-width:720px){.app-shell{display:block}.mobile-topbar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;min-height:58px;border-bottom:1px solid var(--line);background:#151515f0;padding:0 14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.mobile-brand-title{color:var(--text);font-size:18px;font-weight:800;line-height:1}.sidebar-backdrop.visible{position:fixed;inset:0;z-index:50;display:block;border:0;background:#00000085}.sidebar{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(320px,calc(100vw - 54px));border-right:1px solid var(--line);border-bottom:0;overflow-y:auto;padding:18px 16px;box-shadow:22px 0 48px #0000005c;transform:translate(-104%);transition:transform .22s ease}.sidebar.open{transform:translate(0)}.brand-actions .sidebar-close-button{display:grid}.workspace{padding:14px}.toolbar{align-items:stretch;flex-direction:column}.segmented{width:100%}.segmented button{flex:1;justify-content:center}.settings-row{grid-template-columns:1fr}.image-input label,.crop-shell{min-height:260px}.pdf-panel{min-height:70vh}.maintenance-overlay{padding:16px}.maintenance-dialog{width:100%;min-height:78vh;gap:18px;padding:30px 22px}}
