:root{color-scheme:light;--bg:#f6f8fc;--surface:#fff;--ink:#17243a;--muted:#718098;--line:#e4e9f2;--brand:#5259e8;--brand-dark:#4147cb;--secondary:#f0f2ff;--shadow:0 14px 44px rgba(25,39,91,.055);--alert:#b47c29;--mark:#fff1b9;--mark-border:#ecd583}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Arial,sans-serif;color:var(--ink);background:var(--bg);font-size:14px;-webkit-font-smoothing:antialiased}
button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:3px solid #9da1ff;outline-offset:3px}
.app{max-width:1500px;margin:auto;min-height:100vh;display:grid;grid-template-columns:254px minmax(0,1fr)}.sidebar{background:#111b38;color:#e7ebff;padding:30px 19px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.logo{display:flex;align-items:center;gap:12px;padding:0 10px;font-weight:810;font-size:24px;letter-spacing:-.8px}.logo-icon{width:36px;height:36px;background:#7077ff;border-radius:12px;display:grid;place-items:center;color:white;font-weight:800;font-size:20px}.sidebar-tag{color:#939fce;font-size:12px;padding:12px 10px 0}.side-group{margin-top:50px}.side-label{color:#7886b5;text-transform:uppercase;font-size:10px;letter-spacing:2px;margin:0 10px 12px;font-weight:800}.side-link{width:100%;border:0;background:transparent;text-align:left;color:#aeb8db;padding:13px 13px;border-radius:12px;margin:3px 0;display:flex;align-items:center;gap:12px;font-weight:600}.side-link.active,.side-link:hover{background:#283559;color:#fff}.side-link .bullet{font-size:19px;line-height:1}.privacy-sidebar{margin-top:auto;border:1px solid #354369;background:#1c2949;border-radius:16px;padding:17px}.privacy-sidebar strong{display:block;font-size:13px;margin:9px 0 7px}.privacy-sidebar p{color:#acb7d6;font-size:12px;line-height:1.6;margin:0}.privacy-icon{font-size:20px}.side-bottom{color:#8d9bc1;font-size:11px;padding:16px 10px 0}.side-bottom a{color:#c9d0ff;text-decoration:none}
.main{min-width:0;padding:34px clamp(18px,3.2vw,55px) 54px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:31px}.eyebrow{display:flex;gap:9px;align-items:center;color:#7c89a5;font-size:12px;font-weight:660}.eyebrow .dot{height:8px;width:8px;background:#37bc8f;border-radius:50%;box-shadow:0 0 0 4px #dcf7ef}.top-actions{display:flex;gap:10px}.tiny-button{background:white;border:1px solid var(--line);color:#536080;border-radius:10px;padding:9px 12px;font-size:12px;font-weight:650}.hero{margin:30px 0 26px}.hero h1{margin:0;font-size:clamp(29px,3.5vw,44px);font-weight:800;letter-spacing:-1.75px;line-height:1.15}.hero h1 span{color:var(--brand)}.hero p{color:var(--muted);line-height:1.65;margin:11px 0 0;font-size:14px;max-width:720px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,.82fr);gap:22px;align-items:start}.panel{border:1px solid var(--line);border-radius:19px;background:var(--surface);box-shadow:var(--shadow);min-width:0;overflow:hidden}.panel-header{padding:21px 23px 17px;display:flex;align-items:center;justify-content:space-between;gap:14px}.panel-title{font-size:15px;font-weight:780;letter-spacing:-.25px}.panel-sub{font-size:12px;color:var(--muted);margin-top:5px}.chip{border-radius:99px;background:#ecf8f3;color:#168465;border:1px solid #d5ede4;padding:6px 10px;font-size:11px;font-weight:750;white-space:nowrap}.editor-wrap{padding:0 22px 20px}.editor-wrap textarea{display:block;width:100%;min-height:310px;resize:vertical;line-height:1.7;font-size:14px;background:#fcfdff;color:var(--ink);border:1px solid #dfe5ef;border-radius:13px;padding:17px 18px;outline:none}.editor-wrap textarea:focus{border-color:#9fa5f7;box-shadow:0 0 0 3px #ebecff}.editor-wrap textarea::placeholder{color:#a2adc0}.editor-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:11px;margin:10px 1px 0}.upload-zone{display:flex;align-items:center;justify-content:center;gap:10px;border:1.5px dashed #c6ccec;background:#fafbff;border-radius:13px;padding:17px 12px;margin:0 22px 18px;transition:.2s}.upload-zone.over{background:#edf0ff;border-color:var(--brand)}.upload-zone .upload-icon{font-size:21px}.upload-zone p{margin:0;font-size:12px;color:#6c7893}.upload-zone button{color:var(--brand);font-weight:800;background:none;border:0;padding:0}.editor-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 22px 21px;border-top:1px solid var(--line)}.controls{display:flex;gap:8px}.button{border:1px solid transparent;padding:12px 17px;border-radius:11px;font-weight:740;font-size:12px;display:inline-flex;align-items:center;gap:9px;justify-content:center;white-space:nowrap}.button-primary{background:var(--brand);color:#fff;box-shadow:0 7px 19px #5259e82b}.button-primary:hover{background:var(--brand-dark)}.button-soft{color:#58637e;background:#f5f7fb;border:1px solid #e5eaf3}.button-soft:hover{background:#eceeff}.status{font-size:11px;color:#7c87a0}.status.error{color:#b73f4e}.status.success{color:#158264}.empty{display:grid;place-items:center;text-align:center;min-height:477px;padding:30px;color:#9aa5ba}.empty-ill{width:104px;height:104px;border-radius:29px;background:#f0f1ff;display:grid;place-items:center;color:#7479ea;font-size:48px;margin:0 auto 19px}.empty h2{font-size:18px;color:#34415a;margin:0 0 9px;letter-spacing:-.4px}.empty p{font-size:13px;line-height:1.65;max-width:250px;margin:0 auto}.result-inner{padding:8px 25px 26px}.result-head{display:flex;gap:6px;align-items:center;justify-content:space-between;margin-bottom:13px}.result-doc{font-size:12px;color:#66728a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:65%}.score-line{display:flex;align-items:center;gap:20px;margin:8px 0 24px}.ring{width:150px;height:150px;flex:0 0 150px;position:relative}.ring svg{width:100%;height:100%;transform:rotate(-90deg)}.ring circle{fill:none;stroke:#e9ecf6;stroke-width:9}.ring #arc{stroke:var(--brand);stroke-linecap:round;stroke-dasharray:314.16;stroke-dashoffset:314.16;transition:stroke-dashoffset .7s}.ring-text{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column}.ring-text b{font-size:42px;letter-spacing:-2px;line-height:1}.ring-text span{font-size:12px;color:#8c97ad;margin-top:5px}.score-desc strong{display:block;font-size:17px;letter-spacing:-.45px;margin-bottom:9px}.score-desc p{font-size:12px;color:var(--muted);line-height:1.65;margin:0}.evidence{font-size:11px;background:#fff7e7;border-radius:7px;padding:6px 9px;display:inline-block;color:#a87926;font-weight:720;margin-top:12px}.summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-bottom:19px}.mini-stat{border:1px solid var(--line);background:#fcfdff;border-radius:11px;padding:13px}.mini-stat b{font-size:18px;display:block}.mini-stat span{display:block;margin-top:5px;color:var(--muted);font-size:10px}.result-tabs{display:flex;border-bottom:1px solid var(--line);gap:19px;margin-bottom:13px}.result-tab{color:#8a96ab;background:none;border:0;border-bottom:2px solid transparent;padding:12px 0;font-size:12px;font-weight:710}.result-tab.active{color:var(--brand);border-color:var(--brand)}.tab-content{min-height:180px;line-height:1.75;font-size:12px;color:#5b6880}.highlighted{white-space:pre-wrap;word-break:break-word;background:#f9fafe;border-radius:11px;border:1px solid #ecedf6;padding:17px;max-height:340px;overflow:auto}.highlighted mark{background:var(--mark);color:inherit;border-bottom:1px solid var(--mark-border);padding:2px 0;border-radius:2px}.legend{font-size:11px;color:var(--muted);margin:12px 0}.legend i{display:inline-block;width:11px;height:11px;background:var(--mark);border:1px solid var(--mark-border);margin-right:5px;vertical-align:-1px}.metric{padding:12px 0;border-bottom:1px solid var(--line)}.metric-row{display:flex;align-items:center;justify-content:space-between;gap:9px}.metric-label{font-weight:680;color:#54617b}.metric-score{font-weight:760;color:#35405d}.meter{height:6px;border-radius:10px;background:#ecedf5;margin:8px 0 0;overflow:hidden}.meter-fill{background:#777ee9;border-radius:10px;height:100%;width:0}.metric-note{color:var(--muted);font-size:11px;margin-top:5px}.summary-text{white-space:pre-wrap;line-height:1.75;color:#43506b}.result-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:17px}.small-button{border:1px solid var(--line);background:#fff;color:#52607d;padding:9px 11px;border-radius:9px;font-size:11px;font-weight:700}.small-button:hover{border-color:#c4cbf5;background:#f5f6ff}
.bottom-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:23px}.info-panel{padding:21px 23px}.info-panel h2{font-size:14px;margin:0 0 11px;letter-spacing:-.25px}.info-panel p{font-size:12px;color:var(--muted);line-height:1.75;margin:0}.insight-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.insight-grid div{padding:11px;border-radius:10px;background:#f8f9fe}.insight-grid strong{font-size:16px;display:block}.insight-grid span{font-size:10px;color:var(--muted)}.keywords{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.keyword{font-size:11px;padding:6px 9px;background:#f1f3ff;border:1px solid #e6e8ff;color:#535db9;border-radius:8px}.filelist{padding:0 22px 20px}.filelist:empty{display:none}.fileitem{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-radius:9px;border:1px solid #e9edf6;margin-top:6px;background:#fbfcff;align-items:center}.fileitem.active{border-color:#adb4ff;background:#f1f2ff}.fileitem button{font-size:11px;color:#536089;background:none;border:0;max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.fileitem button:hover{text-decoration:underline}.fileitem small{font-size:10px;color:#67748b}.notice{border-left:3px solid #c6a96a;padding:8px 13px;background:#fff9ef;margin-top:15px;border-radius:0 8px 8px 0;color:#94753b!important}.footer{margin-top:30px;font-size:11px;color:#95a0b3;display:flex;gap:15px;justify-content:space-between;flex-wrap:wrap}.footer a{color:#7986ab;text-decoration:none}.hidden{display:none!important}
@media(max-width:1200px){.workspace{grid-template-columns:minmax(0,1fr) minmax(320px,1fr)}.score-line{gap:10px}.ring{width:128px;height:128px;flex-basis:128px}.main{padding-inline:24px}.sidebar{width:222px}.app{grid-template-columns:222px minmax(0,1fr)}}
@media(max-width:1000px){.workspace{grid-template-columns:1fr}.bottom-grid{grid-template-columns:1fr 1fr}.result-inner{padding:8px 22px 22px}.score-line{gap:24px}}
@media(max-width:720px){.app{display:block}.sidebar{height:auto;width:auto;position:relative;padding:13px 18px;display:flex;flex-direction:row;align-items:center;justify-content:space-between}.logo{font-size:20px;padding:0}.logo-icon{height:32px;width:32px}.sidebar-tag,.side-group,.privacy-sidebar,.side-bottom{display:none}.main{padding:19px 15px 33px}.hero{margin:25px 0}.hero h1{font-size:34px}.bottom-grid{grid-template-columns:1fr}.editor-footer{flex-wrap:wrap}.editor-wrap textarea{min-height:270px}.top-actions .tiny-button{font-size:11px}.score-line{gap:12px}.ring{width:130px;height:130px;flex-basis:130px}.summary-stats{gap:5px}.mini-stat{padding:10px}.mini-stat b{font-size:16px}}
@media print{body{background:white!important;color:black!important}.app{display:block}.sidebar,.topbar,.hero,.workspace>.panel:first-child,.bottom-grid,.footer,.result-actions,.result-tabs,.status{display:none!important}.main{padding:0}.workspace{display:block}.panel{border:0;box-shadow:none}.result-inner{padding:0}.tab-content{display:block!important}.highlighted{max-height:none;overflow:visible;border:0}.result-head{margin:20px 0}.result-head:before{content:'NoGPT · Private writing-pattern report';font-size:19px;font-weight:700}.score-line{break-inside:avoid}#print-details{display:block!important;font-size:12px;line-height:1.65;margin-top:15px}#report-section{display:block!important}}
/* Dark theme: explicit session-only toggle, system preference on initial load. */
:root[data-theme='dark']{color-scheme:dark;--bg:#090f1e;--surface:#141d30;--ink:#edf2ff;--muted:#a6b5cf;--line:#2e3b55;--brand:#9299ff;--brand-dark:#777fee;--secondary:#242e48;--shadow:0 14px 44px rgba(0,0,0,.18);--mark:#65541d;--mark-border:#937839}
:root[data-theme='dark'] .sidebar{background:#090f20;border-right:1px solid #263553}
:root[data-theme='dark'] .main{background:var(--bg)}
:root[data-theme='dark'] .sidebar-tag,:root[data-theme='dark'] .side-bottom,:root[data-theme='dark'] .side-label{color:#9eadd1}
:root[data-theme='dark'] .side-link{color:#bfcbed}
:root[data-theme='dark'] .side-link.active,:root[data-theme='dark'] .side-link:hover{background:#263b61;color:#fff}
:root[data-theme='dark'] .privacy-sidebar{background:#15243e;border-color:#304361}
:root[data-theme='dark'] .privacy-sidebar p{color:#b7c6e3}
:root[data-theme='dark'] .eyebrow{color:#b2c5e3}
:root[data-theme='dark'] .eyebrow .dot{box-shadow:0 0 0 4px #164535}
:root[data-theme='dark'] .tiny-button,:root[data-theme='dark'] .small-button{background:#202d45;color:#dce5ff;border-color:#40516e}
:root[data-theme='dark'] .tiny-button:hover,:root[data-theme='dark'] .small-button:hover{background:#293a57}
:root[data-theme='dark'] .chip{background:#15382f;color:#a8f2d9;border-color:#306253}
:root[data-theme='dark'] .editor-wrap textarea{background:#0f1829;border-color:#3b4a65;color:#f3f5ff}
:root[data-theme='dark'] .editor-wrap textarea:focus{border-color:#959cff;box-shadow:0 0 0 3px #3d3a77}
:root[data-theme='dark'] .editor-wrap textarea::placeholder{color:#8b9cba}
:root[data-theme='dark'] .upload-zone{background:#19253a;border-color:#4a5a84}
:root[data-theme='dark'] .upload-zone.over{background:#2b3a5f}
:root[data-theme='dark'] .upload-zone p,:root[data-theme='dark'] .fileitem small{color:#abb9d4}
:root[data-theme='dark'] .button-soft{background:#25334c;color:#e1e9fa;border-color:#40516e}
:root[data-theme='dark'] .button-soft:hover{background:#344666}
:root[data-theme='dark'] .status{color:#a6b5cf}
:root[data-theme='dark'] .status.success{color:#8ff0ca}
:root[data-theme='dark'] .status.error{color:#ff9ba2}
:root[data-theme='dark'] .empty{color:#afbed9}
:root[data-theme='dark'] .empty-ill{background:#293350;color:#bdc2ff}
:root[data-theme='dark'] .empty h2{color:#edf2ff}
:root[data-theme='dark'] .result-doc,:root[data-theme='dark'] .metric-note{color:#acbbd5}
:root[data-theme='dark'] .ring circle{stroke:#33405b}
:root[data-theme='dark'] .ring #arc{stroke:var(--brand)}
:root[data-theme='dark'] .ring-text span{color:#c4d0e3}
:root[data-theme='dark'] .evidence{background:#393015;color:#f5d893}
:root[data-theme='dark'] .mini-stat{background:#1d2a3f}
:root[data-theme='dark'] .result-tab{color:#acbadd}
:root[data-theme='dark'] .result-tab.active{color:var(--brand)}
:root[data-theme='dark'] .tab-content,:root[data-theme='dark'] .summary-text{color:#d2dcf0}
:root[data-theme='dark'] .highlighted{background:#101b2c;border-color:#394862}
:root[data-theme='dark'] .metric-label,:root[data-theme='dark'] .metric-score{color:#dce6fd}
:root[data-theme='dark'] .meter{background:#303b56}
:root[data-theme='dark'] .meter-fill{background:var(--brand)}
:root[data-theme='dark'] .insight-grid div{background:#202d43}
:root[data-theme='dark'] .keyword{background:#2c315e;border-color:#3e4787;color:#d7dcff}
:root[data-theme='dark'] .fileitem{background:#1a2941;border-color:#364761}
:root[data-theme='dark'] .fileitem.active{background:#31345c;border-color:#898fe0}
:root[data-theme='dark'] .fileitem button{color:#dce5ff}
:root[data-theme='dark'] .notice{background:#342d21;border-color:#c3a45a}
:root[data-theme='dark'] a{color:#b9c1ff}
#theme-toggle{display:inline-flex;align-items:center;gap:8px;min-width:102px;justify-content:center}
@media (prefers-reduced-motion: reduce){:root[data-theme='dark'] *, :root[data-theme='light'] * {scroll-behavior:auto!important;transition:none!important}}

.model-details{font-size:11px;color:var(--muted);line-height:1.55;margin:10px 0 0}.ring-text b{font-size:clamp(25px,3vw,40px)}
