:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#172a46;--ink-2:#29415f;--accent:#e07845;--accent-dark:#bc5730;--teal:#2e8279;--paper:#f4f1eb;--card:#fffdf9;--line:#d9d5cc;--muted:#687384;--green:#3d8064;--red:#bd4f49;--shadow:0 18px 50px #172a4617;color:var(--ink);background:var(--paper);font-family:Yu Gothic UI,Noto Sans JP,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #e0784547}[hidden]{display:none!important}.app-header{z-index:50;color:#fff;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#172a46f7;border-bottom:1px solid #ffffff1c;justify-content:space-between;align-items:center;gap:24px;min-height:74px;padding:12px clamp(18px,4vw,58px);display:flex;position:sticky;top:0}.brand{min-width:max-content;color:inherit;align-items:center;gap:13px;text-decoration:none;display:flex}.brand-mark{border:1px solid #ffffff2e;border-radius:50%;grid-template-columns:repeat(3,6px);place-items:end center;gap:3px;width:38px;height:38px;padding-bottom:8px;display:grid;position:relative}.brand-mark i{background:var(--accent);border-radius:5px 5px 1px 1px;width:6px;display:block}.brand-mark i:first-child{opacity:.7;height:8px}.brand-mark i:nth-child(2){height:14px}.brand-mark i:nth-child(3){background:#f1b082;height:21px}.brand small{color:#aab7c9;letter-spacing:.16em;margin-bottom:2px;font-size:9px;display:block}.brand strong{letter-spacing:.035em;font-size:17px}.header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.header-button,.account-button,.icon-button{color:#fff;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:9px;text-decoration:none}.header-button{white-space:nowrap;padding:10px 13px;font-size:12px}.header-button:hover,.account-button:hover,.icon-button:hover{background:#ffffff17}.header-button span{min-width:19px;height:19px;color:var(--ink);background:#fff;border-radius:10px;place-items:center;margin-left:4px;padding:0 4px;font-weight:700;display:inline-grid}.account-button{text-align:left;gap:2px;min-width:155px;padding:7px 11px;display:grid}.account-button span{font-size:11px;font-weight:700}.account-button small{color:#b8c3d2;font-size:10px}.icon-button{width:38px;height:38px;font-size:22px}main{overflow:hidden}.hero{color:#fff;background:var(--ink);isolation:isolate;grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);align-items:center;min-height:335px;padding:60px clamp(24px,7vw,110px) 72px;display:grid;position:relative}.hero:before{content:"";z-index:-1;border:1px solid #ffffff14;border-radius:50%;width:620px;height:620px;position:absolute;top:-280px;right:-170px;box-shadow:0 0 0 90px #ffffff06,0 0 0 180px #ffffff05}.hero:after{content:"";z-index:-1;background:linear-gradient(90deg, var(--accent) 0 34%, #d7aa73 34% 58%, var(--teal) 58%);height:6px;position:absolute;inset:auto 0 0}.eyebrow,.section-kicker{color:var(--accent);letter-spacing:.22em;margin:0 0 10px;font-size:11px;font-weight:800}.hero h1{letter-spacing:.02em;margin:0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(38px,5.2vw,68px);font-weight:600;line-height:1.2}.hero h1 em{color:#ef9a6e;font-style:normal}.hero-copy>p:last-child{color:#c6ceda;max-width:650px;margin:22px 0 0;font-size:15px;line-height:1.9}.hero-steps{background:#ffffff0e;border:1px solid #ffffff21;border-radius:16px;grid-template-columns:1fr 25px 1fr 25px 1fr;justify-self:end;align-items:center;width:min(100%,470px);padding:30px 25px;display:grid}.hero-steps span{color:#e1e6ee;text-align:center;place-items:center;gap:10px;font-size:11px;display:grid}.hero-steps b{width:47px;height:47px;color:var(--accent);border:1px solid #ffffff47;border-radius:50%;place-items:center;font-family:Georgia,serif;font-size:18px;display:grid}.hero-steps i{background:#ffffff38;height:1px}.workspace,.results-section{max-width:1420px;margin:0 auto;padding:64px clamp(20px,5vw,72px)}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;display:flex}.section-heading h2{margin:0;font-family:Yu Mincho,serif;font-size:clamp(28px,3vw,40px);font-weight:600}.section-heading>p{max-width:470px;color:var(--muted);margin:0 0 4px;font-size:13px;line-height:1.8}.upload-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;display:grid}.upload-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;transition:border-color .2s,transform .2s;overflow:hidden}.upload-card.is-dragging{border-color:var(--accent);transform:translateY(-3px)}.upload-card.is-ready{border-color:#3d80648c}.upload-card-head{text-align:left;border-bottom:1px solid #e7e3dc;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:21px 23px;display:grid}.upload-card-head h3{margin:0 0 3px;font-size:17px}.upload-card-head p{color:var(--muted);margin:0;font-size:11px}.file-index{color:#fff;background:var(--ink);border-radius:8px;place-items:center;width:38px;height:38px;font-family:Georgia,serif;display:grid}.file-index.accent{background:var(--accent)}.state-pill{color:var(--muted);background:#eeeae3;border-radius:14px;padding:5px 9px;font-size:10px;font-weight:700}.is-ready .state-pill{color:var(--green);background:#e2efe9}.drop-target{text-align:center;background-image:linear-gradient(90deg,#172a460a 1px,#0000 1px),linear-gradient(#172a460a 1px,#0000 1px);background-size:24px 24px;place-items:center;min-height:245px;padding:30px;display:grid}.drop-target strong{text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:15px;overflow:hidden}.drop-target p{color:#9a9a96;margin:7px 0 12px;font-size:11px}.paper-icon{width:57px;height:70px;color:var(--ink);letter-spacing:.08em;background:#e8edf2;border:1px solid #bac5d2;border-radius:5px;place-items:end center;margin-bottom:19px;padding-bottom:12px;font-family:Georgia,serif;font-size:11px;font-weight:800;display:grid;position:relative;box-shadow:7px 7px #d4dbe3}.paper-icon:before{content:"";background:var(--card);border-bottom:1px solid #bac5d2;border-left:1px solid #bac5d2;width:17px;height:17px;position:absolute;top:-1px;right:-1px}.paper-icon.answer{color:var(--accent-dark);background:#f8e7df;border-color:#e4a78c;box-shadow:7px 7px #ecd1c4}.button{color:#fff;background:var(--ink);border:1px solid var(--ink);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;min-height:40px;padding:9px 16px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.button:hover{filter:brightness(1.08)}.button.secondary{color:var(--ink);background:#fff;border-color:#c4c9d0}.accent-button{background:var(--accent);border-color:var(--accent)}.file-button input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.upload-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.camera-input-button{gap:7px}.camera-input-button span{color:#fff;background:var(--ink);border:2px solid var(--ink);width:15px;height:11px;box-shadow:4px -3px 0 -2px var(--ink);border-radius:3px;place-items:center;font-size:7px;line-height:1;display:inline-grid}.page-panel{border-top:1px dashed var(--line);background:#fff;padding:0 23px 23px}.page-panel>label{justify-content:space-between;padding-top:20px;font-size:12px;font-weight:700;display:flex}.page-panel label span{color:var(--muted);font-weight:400}.page-row{grid-template-columns:1fr auto;gap:8px;margin-top:8px;display:grid}.page-row input{min-width:0}input,select,textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd2d5;border-radius:7px;padding:10px 11px}.page-status{color:var(--muted);margin:9px 0 0;font-size:11px}.page-status.is-ready{color:var(--green);font-weight:700}.page-preview{gap:7px;margin-top:11px;padding-bottom:3px;display:flex;overflow-x:auto}.preview-thumb{background:#eef0f2;border:1px solid #d0d4da;border-radius:5px;flex:0 0 66px;height:84px;position:relative;overflow:hidden}.preview-thumb img{object-fit:cover;width:100%;height:100%}.preview-thumb b{color:#fff;background:#172a46d1;border-radius:8px;padding:2px 5px;font-size:8px;position:absolute;bottom:3px;right:3px}.exam-form{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;margin-top:24px;padding:28px}.form-title{text-align:left;margin-bottom:23px}.form-title h3{margin:0 0 3px;font-size:17px}.form-title p{color:var(--muted);margin:0;font-size:11px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.form-grid label{color:#4d5b6b;font-size:11px;font-weight:700}.form-grid input,.form-grid select,.form-grid textarea{margin-top:7px;font-size:13px}.span-2{grid-column:span 2}textarea{resize:vertical}.analyze-bar{color:#fff;background:var(--ink);box-shadow:var(--shadow);border-radius:14px;justify-content:space-between;align-items:center;gap:24px;margin-top:24px;padding:22px 28px;display:flex}.analyze-bar>div{gap:5px;display:grid}.analyze-bar strong{font-size:14px}.analyze-bar span{color:#b9c4d2;font-size:11px}.analyze-button{color:#fff;background:var(--accent);cursor:pointer;border:0;border-radius:9px;align-items:center;gap:24px;min-height:54px;padding:0 8px 0 23px;font-weight:800;display:flex}.analyze-button b{background:#ffffff2b;border-radius:7px;place-items:center;width:39px;height:39px;font-size:20px;display:grid}.analyze-button:disabled{opacity:.55;cursor:not-allowed}.results-section{background:#e9e6df;border-top:1px solid #d6d2cb;max-width:none;padding-top:56px;padding-bottom:100px}.results-section>*{max-width:1276px;margin-left:auto;margin-right:auto}.result-heading{align-items:center}.export-actions{gap:8px;display:flex}.sheet-button{background:var(--green);border-color:var(--green)}.result-content{min-height:360px}.empty-result{text-align:center;min-height:350px;color:var(--muted);background:#ffffff94;border:1px dashed #c1beb8;border-radius:16px;align-content:center;place-items:center;display:grid}.empty-result h3{color:var(--ink);margin:22px 0 6px;font:600 21px Yu Mincho,serif}.empty-result p{max-width:500px;margin:0 20px;font-size:12px;line-height:1.8}.empty-graphic{border-bottom:1px solid #afb5bc;justify-content:center;align-items:end;gap:7px;width:88px;height:64px;display:flex}.empty-graphic i{background:#b9c2cb;border-radius:4px 4px 0 0;width:12px}.empty-graphic i:first-child{height:20px}.empty-graphic i:nth-child(2){height:37px}.empty-graphic i:nth-child(3){background:var(--accent);height:55px}.report{gap:18px;display:grid}.report-overview{color:#fff;background:var(--ink);box-shadow:var(--shadow);border-radius:16px;grid-template-columns:240px 1fr;display:grid;overflow:hidden}.score-panel{text-align:center;background:linear-gradient(145deg, var(--accent), #c15b34);align-content:center;place-items:center;min-height:230px;padding:30px;display:grid}.score-ring{background:conic-gradient(#fff var(--rate), #ffffff40 0);border-radius:50%;place-items:center;width:135px;height:135px;display:grid;position:relative}.score-ring:before{content:"";background:var(--accent);border-radius:50%;position:absolute;inset:9px}.score-ring strong{font:700 41px Georgia,serif;position:relative}.score-ring small{margin-left:2px;font-size:15px;position:relative}.score-panel>span{letter-spacing:.12em;margin-top:12px;font-size:11px}.overview-copy{align-content:center;padding:35px 42px;display:grid}.overview-copy small{color:#aab8ca;letter-spacing:.17em;font-weight:800}.overview-copy h3{margin:8px 0 15px;font:600 28px Yu Mincho,serif}.overview-copy p{color:#d7dde6;margin:0;font-size:13px;line-height:1.9}.report-meta{flex-wrap:wrap;gap:8px;margin-top:19px;display:flex}.report-meta span{color:#dce4ee;background:#ffffff14;border-radius:20px;padding:6px 10px;font-size:10px}.report-section{border:1px solid var(--line);background:#fff;border-radius:14px;padding:28px;box-shadow:0 10px 30px #172a460e}.report-section-head{align-items:center;gap:11px;margin-bottom:20px;display:flex}.report-section-head b{color:#fff;background:var(--ink);border-radius:50%;place-items:center;width:30px;height:30px;font:15px Georgia,serif;display:grid}.report-section-head h3{margin:0;font:600 21px Yu Mincho,serif}.report-section-head p{color:var(--muted);margin:3px 0 0;font-size:10px}.priority-list{gap:12px;display:grid}.priority-card{border:1px solid #dedbd5;border-radius:10px;grid-template-columns:72px 1fr;display:grid;overflow:hidden}.priority-rank{color:#fff;background:var(--ink-2);align-content:center;place-items:center;display:grid}.priority-card:first-child .priority-rank{background:var(--accent)}.priority-rank small{letter-spacing:.12em;font-size:8px}.priority-rank b{font:26px Georgia,serif}.priority-body{padding:18px 20px}.priority-title{justify-content:space-between;gap:15px;display:flex}.priority-title h4{margin:0;font-size:16px}.priority-title span{color:var(--accent-dark);font-size:10px;font-weight:800}.priority-body>p{color:#4e5d6e;margin:9px 0;font-size:12px;line-height:1.75}.priority-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.priority-facts div{background:#f5f3ef;border-radius:7px;padding:10px 12px}.priority-facts b{color:var(--muted);margin-bottom:3px;font-size:9px;display:block}.priority-facts span{font-size:11px;line-height:1.6}.ability-grid,.strength-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.ability-card,.strength-card{background:#f7f5f1;border-radius:9px;padding:17px}.ability-card h4,.strength-card h4{margin:0 0 8px;font-size:14px}.ability-bar{background:#dfe2e4;border-radius:5px;height:7px;margin:9px 0;overflow:hidden}.ability-bar i{width:var(--level);background:var(--teal);border-radius:inherit;height:100%;display:block}.ability-card p,.strength-card p{color:#586676;margin:6px 0 0;font-size:11px;line-height:1.65}.strength-card{border-left:4px solid var(--green)}.question-table{border-collapse:collapse;width:100%;font-size:11px}.question-table th{color:#fff;background:var(--ink);text-align:left;padding:10px}.question-table td{vertical-align:top;border-bottom:1px solid #e3e0da;padding:11px 10px;line-height:1.55}.question-table tr:last-child td{border-bottom:0}.result-badge{white-space:nowrap;border-radius:10px;padding:3px 7px;font-weight:800}.result-badge.good{color:var(--green);background:#e2efe9}.result-badge.bad{color:var(--red);background:#f7e4e2}.result-badge.mid{color:#8a641f;background:#f5ecd5}.plan-list{counter-reset:plan;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.plan-card{background:var(--ink);color:#fff;counter-increment:plan;border-radius:9px;padding:19px;position:relative}.plan-card:before{content:counter(plan, decimal-leading-zero);color:#ffffff26;font:29px Georgia,serif;position:absolute;top:9px;right:13px}.plan-card small{color:#efaa82;font-weight:800}.plan-card h4{margin:7px 0 10px;font-size:15px}.plan-card ul{color:#d8dfe7;margin:0;padding-left:17px;font-size:11px;line-height:1.8}.plan-card p{color:#aebacd;border-top:1px solid #ffffff21;margin:12px 0 0;padding-top:10px;font-size:10px;line-height:1.6}.caution{color:#66511f;background:#fbf3dc;border-left:4px solid #d8aa42;border-radius:6px;padding:15px 17px;font-size:11px;line-height:1.7}.history-panel{z-index:80;background:#f6f3ed;width:min(430px,92vw);padding:22px;position:fixed;inset:0 0 0 auto;box-shadow:-20px 0 60px #0a192d40}.history-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.history-panel header small{color:var(--accent);letter-spacing:.18em;font-size:9px}.history-panel h2{margin:4px 0 0;font:600 25px Yu Mincho,serif}.history-panel .icon-button{color:var(--ink);border-color:var(--line)}.history-list{gap:10px;max-height:calc(100vh - 105px);padding-top:16px;display:grid;overflow:auto}.history-item{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;padding:16px;position:relative}.history-item:hover{border-color:var(--accent)}.history-item h3{margin:5px 32px 5px 0;font-size:14px}.history-item p{color:var(--muted);margin:0;font-size:10px}.history-item b{color:var(--accent-dark);font-size:11px}.history-delete{width:27px;height:27px;color:var(--muted);cursor:pointer;background:0 0;border:0;position:absolute;top:9px;right:9px}.backdrop{z-index:70;background:#0a142373;border:0;width:100%;height:100%;position:fixed;inset:0}.install-dialog,.gemini-model-dialog{width:min(560px,100% - 28px);color:var(--ink);background:#fff;border:0;border-radius:14px;padding:28px;box-shadow:0 30px 90px #00000047}.install-dialog::backdrop{background:#0a14238c}.gemini-model-dialog::backdrop{background:#0a14238c}.dialog-close,.gemini-model-close{cursor:pointer;background:0 0;border:0;width:32px;height:32px;font-size:22px;position:absolute;top:12px;right:12px}.install-dialog h2,.gemini-model-dialog h2{margin-top:0;font:600 25px Yu Mincho,serif}.install-dialog p,.install-dialog li,.gemini-model-dialog p{font-size:12px;line-height:1.8}.gemini-setting-section{background:#f4f2ed;border-radius:8px;margin-top:16px;padding:16px}.gemini-setting-section h3{margin:0;font-size:14px}.gemini-setting-section label{gap:6px;margin-top:12px;font-size:11px;font-weight:700;display:grid}.gemini-setting-status{color:var(--muted)}.gemini-setting-status.is-ready{color:var(--green)}.gemini-setting-status.is-error{color:var(--red)}.gemini-model-setting-actions{text-align:right;margin-top:12px}.busy-overlay{z-index:120;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0a1526b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.busy-card{color:#fff;text-align:center;background:var(--ink);border:1px solid #ffffff29;border-radius:15px;place-items:center;width:min(420px,100%);padding:38px;display:grid;box-shadow:0 25px 80px #0000004d}.spinner{border:3px solid #ffffff2e;border-top-color:var(--accent);border-radius:50%;width:50px;height:50px;margin-bottom:20px;animation:.8s linear infinite spin}.busy-card strong{font-size:17px}.busy-card p{color:#bfc9d6;margin:7px 0 16px;font-size:11px}.busy-card small{color:#ef9a6e;font:19px Georgia,serif}.toast{z-index:150;color:#fff;opacity:0;pointer-events:none;background:#182a44;border-radius:8px;max-width:min(600px,100% - 30px);padding:12px 18px;font-size:12px;transition:all .2s;position:fixed;bottom:26px;left:50%;transform:translate(-50%,20px);box-shadow:0 12px 35px #00000040}.toast.show{opacity:1;transform:translate(-50%)}.process-log-window{z-index:135;color:#e6eef9;background:#111c2d;border:1px solid #52647d;border-radius:13px;grid-template-rows:auto minmax(0,1fr);width:min(600px,100vw - 24px);min-width:min(320px,100vw - 24px);max-width:calc(100vw - 12px);height:min(400px,100dvh - 100px);min-height:min(190px,100dvh - 12px);max-height:calc(100dvh - 12px);display:grid;position:fixed;top:82px;right:18px;overflow:hidden;box-shadow:0 18px 55px #050d1b61}.process-log-window[hidden]{display:none}.process-log-head{cursor:move;touch-action:none;-webkit-user-select:none;user-select:none;background:#17263b;border-bottom:1px solid #30425b;justify-content:space-between;align-items:center;gap:12px;min-height:52px;padding:8px 10px 8px 14px;display:flex}.process-log-head>div{gap:3px;display:grid}.process-log-head small{color:#70cab2;letter-spacing:.17em;font-size:9px;font-weight:900}.process-log-head strong{font:700 15px Georgia,Yu Mincho,serif}.process-log-close{z-index:4;color:#c7d3e5;cursor:pointer;background:0 0;border:0;border-radius:50%;width:32px;height:32px;font-size:22px;position:relative}.process-log-close:hover{color:#fff;background:#2b3b52}.process-log-body{color:#d8e6f6;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:text;user-select:text;min-width:0;min-height:0;margin:0;padding:14px;font:12px/1.65 Consolas,Yu Gothic UI,monospace;overflow:auto}.process-log-resize-handle{z-index:3;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;padding:0;position:absolute}button.process-log-resize-handle.resize-n,button.process-log-resize-handle.resize-s{cursor:ns-resize;height:10px;left:14px;right:14px}button.process-log-resize-handle.resize-n{top:0}button.process-log-resize-handle.resize-s{bottom:0}button.process-log-resize-handle.resize-e,button.process-log-resize-handle.resize-w{cursor:ew-resize;width:10px;top:14px;bottom:14px}button.process-log-resize-handle.resize-e{right:0}button.process-log-resize-handle.resize-w{left:0}button.process-log-resize-handle.resize-ne,button.process-log-resize-handle.resize-nw,button.process-log-resize-handle.resize-se,button.process-log-resize-handle.resize-sw{width:16px;height:16px}button.process-log-resize-handle.resize-ne{cursor:nesw-resize;top:0;right:0}button.process-log-resize-handle.resize-nw{cursor:nwse-resize;top:0;left:0}button.process-log-resize-handle.resize-se{cursor:nwse-resize;bottom:0;right:0}button.process-log-resize-handle.resize-sw{cursor:nesw-resize;bottom:0;left:0}.process-log-resize-handle:focus-visible{outline-offset:-2px;outline:2px solid #70cab2}.camera-scan-dialog{background:#f7fafc;border:1px solid #b8c8d5;border-radius:14px;width:min(980px,100vw - 8px);max-width:none;height:calc(100dvh - 8px);max-height:none;padding:0;overflow:hidden}.camera-scan-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#081622ad}.camera-scan-card{grid-template-rows:auto minmax(0,1fr);gap:6px;width:100%;height:100%;margin:0;padding:6px;display:grid}.camera-scan-heading{z-index:3;grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:8px;min-height:34px;padding-inline:6px;display:grid;position:relative}.camera-scan-heading h2{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:15px;overflow:hidden}.camera-scan-close{color:#526176;cursor:pointer;background:0 0;border:0;border-radius:50%;width:34px;height:34px;padding:0;font-size:24px}.camera-live-view,.camera-correction-view,.camera-review-view{min-height:0}.camera-live-view[hidden],.camera-correction-view[hidden],.camera-review-view[hidden],.camera-quality-options[hidden]{display:none}.camera-live-view{place-items:stretch stretch;width:100%;height:100%;display:grid}.camera-preview-frame{background:#080a0b;border:1px solid #53626b;border-radius:8px;place-items:center;width:100%;height:100%;min-height:0;display:grid;position:relative;overflow:hidden}.camera-preview{object-fit:contain;width:100%;height:100%;display:block}.camera-document-guide{aspect-ratio:210/297;pointer-events:none;border:2px dashed #3baeff;border-radius:6px;width:82%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 200vmax #0003}.camera-scan-status{color:#dce9f0;text-align:center;background:#0009;border-radius:999px;max-width:calc(100% - 24px);margin:0;padding:5px 9px;font-size:11px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.camera-scan-status:empty{display:none}.camera-scan-status.error-text{color:#fff;background:#741d1de8;font-weight:700}.camera-capture-button{cursor:pointer;background:#246ba0;border:3px solid #dceeff;border-radius:50%;place-items:center;width:68px;height:68px;padding:0;display:grid;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #0008}.camera-capture-button span{background:#fff;border-radius:50%;width:44px;height:44px}.camera-capture-button:hover:not(:disabled){background:#3184be;transform:translate(-50%)scale(1.03)}.camera-capture-button:disabled{opacity:.45;cursor:wait}.camera-correction-view{grid-template-rows:minmax(0,1fr) auto;justify-items:center;gap:7px;height:100%;display:grid;position:relative}.camera-corner-editor{touch-action:none;-webkit-user-select:none;user-select:none;background:#111;border:1px solid #68757d;border-radius:8px;align-self:center;place-items:center;width:-moz-fit-content;width:fit-content;max-width:100%;height:-moz-fit-content;height:fit-content;max-height:100%;margin:0 auto;display:grid;position:relative;overflow:hidden}.camera-capture-canvas{background:#111;width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 150px);display:block}.camera-corner-overlay{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.camera-corner-overlay polygon{fill:#159de522;stroke:#079cff;stroke-width:3px;stroke-linejoin:round;filter:drop-shadow(0 0 1px #001722)drop-shadow(0 0 2px #fff);vector-effect:non-scaling-stroke}.camera-corner-handle{cursor:grab;touch-action:none;background:0 0;border:0;border-radius:50%;width:54px;height:54px;padding:0;position:absolute;transform:translate(-50%,-50%)}.camera-corner-handle:before{content:"";background:#168cd5;border:3px solid #fff;border-radius:50%;width:28px;height:28px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 1px 7px #000c}.camera-corner-handle:active{cursor:grabbing}.camera-corner-handle:active:before{background:#35b4ff}.camera-corner-editor.previewing{flex:none}.camera-corner-editor.previewing .camera-capture-canvas{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%}.camera-corner-editor.previewing .camera-corner-overlay,.camera-corner-editor.previewing .camera-corner-handle{display:none}.corner-top-left{top:4%;left:4%}.corner-top-right{top:4%;left:96%}.corner-bottom-right{top:96%;left:96%}.corner-bottom-left{top:96%;left:4%}.camera-correction-controls{gap:6px;width:100%;display:grid;position:relative}.camera-editor-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;display:grid}.camera-primary,.camera-secondary{min-height:40px;font:inherit;cursor:pointer;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:800}.camera-primary{border:1px solid var(--accent-dark);color:#fff;background:var(--accent-dark)}.camera-secondary{color:var(--ink);background:#fff;border:1px solid #8fa1ae}.camera-primary:disabled,.camera-secondary:disabled{opacity:.48;cursor:wait}.camera-quality-options{z-index:5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#20282dcc;border:1px solid #63717a;border-radius:7px;min-width:160px;padding:6px;display:grid;position:absolute;bottom:calc(100% + 6px);right:0;box-shadow:0 5px 18px #0009}.camera-quality-options button{color:#e9f0f4;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;min-height:38px}.camera-quality-options button.active{color:#fff;background:#286f9d;font-weight:700}.camera-review-view{grid-template-rows:minmax(0,1fr) auto 58px auto auto;gap:4px;height:100%;min-height:0;display:grid}.camera-review-stage{background:#111;border:1px solid #68757d;border-radius:8px;place-items:center;min-height:0;padding:4px;display:grid;overflow:hidden}.camera-review-image{object-fit:contain;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%;display:block}.camera-pages-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.camera-pages-heading h3{margin:0;font-size:13px}.camera-pages-heading span{color:#687682;font-size:11px}.camera-pages{align-items:stretch;gap:4px;min-height:52px;max-height:58px;padding:2px;display:flex;overflow-x:auto}.camera-pages-empty{color:#687682;text-align:center;align-self:center;width:100%;margin:0;font-size:12px}.camera-review-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.camera-link{color:var(--accent-dark);font:inherit;cursor:pointer;background:0 0;border:0;padding:5px 3px;font-size:11px;font-weight:800}.camera-link:disabled{color:#9aa5ad;cursor:default}.camera-page-item{color:var(--ink);text-align:center;cursor:pointer;background:#fff;border:1px solid #8c9aa3;border-radius:4px;flex:0 0 46px;grid-template-rows:36px auto;gap:1px;padding:2px;display:grid;position:relative}.camera-page-item.selected{border-color:#079cff;box-shadow:0 0 0 2px #269eea88}.camera-page-item img{object-fit:contain;background:#fff;width:100%;height:36px}.camera-page-item span{font-size:8px;line-height:1}.danger-text{color:#a64658}.camera-finish-actions{grid-template-columns:1fr 1.25fr;gap:7px;padding-top:2px;display:grid}@media (orientation:landscape){.camera-document-guide{aspect-ratio:297/210;width:82%;height:auto;top:50%;transform:translate(-50%,-50%)}}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:980px){.app-header{align-items:flex-start}.header-actions{flex-wrap:wrap}.hero{grid-template-columns:1fr;gap:38px}.hero-steps{justify-self:start}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.report-overview{grid-template-columns:200px 1fr}.ability-grid,.strength-grid,.plan-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.app-header{padding:13px 16px;display:grid;position:static}.header-actions{justify-content:flex-start}.header-button{padding:8px 10px}.account-button{flex:1}.hero{min-height:0;padding:46px 22px 54px}.hero-steps{width:100%;padding:22px 12px}.hero-steps b{width:40px;height:40px}.workspace,.results-section{padding:46px 16px}.section-heading{flex-direction:column;align-items:flex-start;gap:12px}.upload-grid,.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.analyze-bar{flex-direction:column;align-items:stretch}.analyze-button{justify-content:space-between}.report-overview{grid-template-columns:1fr}.score-panel{min-height:190px}.overview-copy{padding:27px 22px}.ability-grid,.strength-grid,.plan-list{grid-template-columns:1fr}.priority-card{grid-template-columns:55px 1fr}.priority-facts{grid-template-columns:1fr}.report-section{padding:21px 17px;overflow-x:auto}.question-table{min-width:700px}.export-actions{width:100%}.export-actions .button{flex:1}}@media (max-width:620px){.camera-scan-dialog{border-radius:0;width:100vw;height:100dvh}.camera-editor-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.app-header,.hero,.workspace,.export-actions,.history-panel,.backdrop,.toast,.camera-scan-dialog,.process-log-window{display:none!important}body,.results-section{background:#fff}.results-section{border:0;padding:0}.result-heading{margin:0 0 20px}.report{gap:12px}.report-section,.report-overview{break-inside:avoid;box-shadow:none}.priority-card,.ability-card,.plan-card{break-inside:avoid}}
