:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:#18243c;background:#e7edf6}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}.window{width:100vw;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#f6f8fc;box-shadow:0 18px 65px #102c4b25}.window.normal{width:min(1200px,100vw);height:min(700px,100dvh);margin:max(0px,calc((100dvh - 700px)/2)) auto;border-radius:17px;border:1px solid #d9e1ef}.titlebar{min-height:63px;background:#152746;color:white;display:flex;align-items:center;padding:9px 15px;gap:14px;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:9px;white-space:nowrap;font-size:17px}.brand em{color:#7eb8ff;font-style:normal}.logo{display:inline-grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#4b7dff;color:white;font-size:24px}.size{font-size:12px;background:#ffffff16;border:1px solid #ffffff30;padding:7px 10px;border-radius:9px;white-space:nowrap;font-variant-numeric:tabular-nums}.languages{display:flex;gap:4px;margin-left:auto;flex-wrap:wrap}.languages button,.controls button{background:transparent;color:#e3eafa;border:1px solid transparent;border-radius:7px;padding:7px 9px;font-size:12px}.languages .selected{background:#4779e7;color:white}.languages button:hover,.controls button:hover{border-color:#ffffff70;background:#ffffff22}.controls{display:flex;gap:2px}.controls button{font-size:19px;min-width:32px;padding:3px}.controls #close:hover{background:#d74755}.workspace{min-height:0;flex:1;display:flex}.sidebar{width:230px;flex-shrink:0;background:#fff;border-right:1px solid #dfe6f1;display:flex;flex-direction:column;padding:20px 12px}.sidebar-caption{font-size:10px;color:#718098;font-weight:750;letter-spacing:1.3px;margin:3px 12px 17px}.sidebar nav{display:grid;gap:5px;overflow:auto}.sidebar nav button{border:0;text-align:start;background:transparent;color:#53647d;border-radius:11px;padding:12px;display:flex;align-items:center;gap:12px;font-size:13px;font-weight:650}.sidebar nav button:hover{background:#edf3fc}.sidebar nav button.active{background:#eaf0ff;color:#255cdb}.sidebar nav button .ico{font-size:17px;width:20px;text-align:center}.sidebar-bottom{margin-top:auto;font-size:11px;color:#57718a;display:flex;align-items:center;gap:7px;padding:15px 10px 0}.status-dot{background:#13b989;width:8px;height:8px;border-radius:50%}.main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.scroll{height:100%;overflow:auto;padding:29px clamp(16px,3.4vw,52px)}.eyebrow{font-size:11px;letter-spacing:2px;color:#4675d8;font-weight:800;text-transform:uppercase}.pagehead{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.pagehead h1{font-size:clamp(24px,3vw,33px);letter-spacing:-1.1px;margin:9px 0}.muted{color:#738199;line-height:1.65;font-size:14px;max-width:670px}.pill{background:#e8f8f1;color:#19856a;border-radius:50px;padding:8px 11px;font-size:12px;white-space:nowrap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:17px}.card{background:white;border:1px solid #e0e7f2;border-radius:15px;padding:22px;box-shadow:0 4px 15px #2a447405}.card h3{font-size:16px;margin:14px 0 9px}.card p{color:#718096;font-size:13px;line-height:1.6}.card .symbol{font-size:24px;background:#edf3ff;border-radius:12px;width:46px;height:46px;display:grid;place-items:center}.card button,.primary{background:#356de6;color:#fff;border:0;padding:10px 17px;border-radius:9px;font-weight:700}.card button:hover,.primary:hover{background:#2559cb}.panel{background:#fff;border:1px solid #e0e7f2;border-radius:16px;padding:24px;max-width:900px}.fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.field{display:flex;flex-direction:column;gap:8px;font-size:13px;color:#44546c;font-weight:650}.field.wide{grid-column:1/-1}input,textarea,select{border:1px solid #cfd9e8;background:white;padding:12px;border-radius:9px;width:100%;color:#1a2941;min-width:0}textarea{min-height:100px;resize:vertical}.actions{display:flex;gap:12px;align-items:center;margin-top:18px;flex-wrap:wrap}.result{margin-top:18px;padding:17px;border-radius:12px;background:#f0f5fe;border:1px solid #d9e6fc;color:#263d67;line-height:1.65;white-space:pre-wrap}.chat{height:min(370px,45dvh);overflow:auto;background:#f7faff;border:1px solid #dfe8f5;border-radius:13px;padding:15px;display:flex;flex-direction:column;gap:10px}.bubble{padding:11px 14px;border-radius:13px;background:#fff;border:1px solid #e3e9f3;max-width:85%;font-size:14px;line-height:1.6;white-space:pre-wrap}.bubble.user{align-self:flex-end;color:white;background:#376fe3;border-color:#376fe3}.chatrow{display:flex;gap:8px;margin-top:12px}.chatrow input{flex:1}.note{font-size:12px;color:#77869c}footer{background:#fff;border-top:1px solid #dfe6f1;min-height:39px;padding:10px 20px;display:flex;justify-content:space-between;gap:12px;font-size:11px;color:#74839a}#closed{height:100dvh;display:grid;place-items:center}#closed[hidden]{display:none}.closed-panel{text-align:center;background:white;border-radius:18px;padding:45px;box-shadow:0 18px 55px #24416c20}.big{margin:auto;width:54px;height:54px;font-size:36px}body.large-text{font-size:115%}body.high-contrast{--none:0;background:#d4def4}body.high-contrast .muted,body.high-contrast .card p,body.high-contrast .note{color:#30445d}[dir=rtl] .sidebar{border-right:0;border-left:1px solid #dfe6f1}[dir=rtl] .sidebar nav button{text-align:right}[dir=rtl] .languages{margin-right:auto;margin-left:0}@media(max-width:850px){.titlebar{gap:7px}.languages{order:3;width:100%;justify-content:center}.size{margin-left:auto}.sidebar{width:66px;padding:12px 6px}.sidebar-caption,.sidebar-bottom,.sidebar .txt{display:none}.sidebar nav button{justify-content:center;padding:12px 4px}.scroll{padding:17px}.pagehead{flex-wrap:wrap}}@media(max-height:600px){.titlebar{min-height:49px}.scroll{padding-top:15px}.pagehead{margin-bottom:13px}.pagehead h1{margin:4px 0 6px}}@media(max-width:450px){footer span:last-child{display:none}.brand{font-size:14px}.controls button{min-width:23px}.panel{padding:15px}.chatrow{flex-wrap:wrap}}
[hidden]{display:none!important}

/* Dark theme: default application appearance */
:root{color-scheme:dark;color:#eaf1ff;background:#080e1b}
body{background:#080e1b}
.window{background:#101929;box-shadow:0 20px 80px #0009}
.window.normal{border-color:#35445c}
.titlebar{background:#0b1425;border-bottom:1px solid #2d3d57}
.size{background:#1a2b44;border-color:#3c5270;color:#e6efff}
.languages button,.controls button{color:#e9f1ff}
.languages .selected{background:#316ce0;color:#fff}
.sidebar{background:#0d1728;border-color:#2b3b53}
.sidebar-caption,.sidebar-bottom{color:#adbed4}
.sidebar nav button{color:#cfdbeb}
.sidebar nav button:hover{background:#1b304c}
.sidebar nav button.active{background:#203d65;color:#93beff}
.main,.scroll{background:#111c2e}
.eyebrow{color:#8db7ff}
.muted,.card p,.note{color:#b7c5da}
.pill{background:#123a34;color:#8df0c7;border:1px solid #235c53}
.card,.panel{background:#19273b;border-color:#32435d;color:#eaf1ff;box-shadow:0 4px 15px #0002}
.card .symbol{background:#293c5a}
.field{color:#deebfc}
input,textarea,select{background:#101c2e;color:#f3f7ff;border-color:#43556f}
input::placeholder,textarea::placeholder{color:#9cacc2;opacity:1}
input:focus-visible,textarea:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid #89b4ff;outline-offset:2px}
.card button,.primary{background:#3778ee}
.card button:hover,.primary:hover{background:#2864d9}
.result{background:#142b47;border-color:#335d87;color:#e1edff}
.chat{background:#101d30;border-color:#354762}
.bubble{background:#20324a;border-color:#3e506a;color:#edf4ff}
.bubble.user{background:#326ce1;border-color:#326ce1;color:#fff}
footer{background:#0c1626;border-color:#2e3d55;color:#c2d0e2}
.closed-panel{background:#18283d;border:1px solid #364a66;color:#eef5ff;box-shadow:0 18px 55px #0008}
body.high-contrast{background:#020611}
body.high-contrast .muted,body.high-contrast .card p,body.high-contrast .note{color:#fff}
[dir=rtl] .sidebar{border-left-color:#2b3b53}
@media(max-width:1200px){.window.normal{border-radius:0}}

/* v1.2: fit 1200x700 window with internal-only scrolling */
.logo-img{width:35px;height:35px;object-fit:contain;display:block;flex-shrink:0}
.logo-img.big{width:72px;height:72px;margin:0 auto}
.window.normal{max-width:100vw;max-height:100dvh}
.titlebar{flex-wrap:nowrap;min-height:62px;max-height:62px;flex-shrink:0}
.workspace{overflow:hidden}
.main{overflow:hidden}
.scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain}
.scroll[data-page="home"],.scroll[data-page="chat"]{display:flex;flex-direction:column;padding:18px 28px 16px;gap:0}
.scroll[data-page="home"] .pagehead,.scroll[data-page="chat"] .pagehead{margin-bottom:15px;flex-shrink:0}
.scroll[data-page="home"] .pagehead h1,.scroll[data-page="chat"] .pagehead h1{font-size:27px;margin:5px 0 4px}
.scroll[data-page="home"] .pagehead .muted,.scroll[data-page="chat"] .pagehead .muted{line-height:1.4;font-size:12px}
.scroll[data-page="home"] .eyebrow[style]{margin-bottom:10px!important}
.scroll[data-page="home"] .grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:12px;flex:1;min-height:0}
.scroll[data-page="home"] .card{min-width:0;min-height:0;padding:12px 15px;display:flex;flex-direction:column;overflow:hidden}
.scroll[data-page="home"] .card .symbol{width:34px;height:34px;font-size:18px;flex-shrink:0}
.scroll[data-page="home"] .card h3{margin:7px 0 3px;font-size:14px}
.scroll[data-page="home"] .card p{font-size:11px;line-height:1.35;margin:0 0 8px;flex:1;overflow:hidden}
.scroll[data-page="home"] .card button{align-self:flex-start;padding:7px 12px;font-size:12px}
.scroll[data-page="chat"] .panel{flex:1;min-height:0;max-width:none;width:100%;padding:14px 16px;display:flex;flex-direction:column;overflow:hidden}
.scroll[data-page="chat"] .panel>.field{flex-shrink:0;gap:5px}
.scroll[data-page="chat"] .panel>.field select{padding:9px 11px}
.scroll[data-page="chat"] .panel>.note{flex-shrink:0;margin:8px 0}
.scroll[data-page="chat"] .chat{min-height:0;height:auto;flex:1;padding:10px;overflow-y:auto}
.scroll[data-page="chat"] .chatrow{margin-top:9px;flex-shrink:0}
.scroll[data-page="chat"] .chatrow input{padding:9px 12px}
.scroll[data-page="chat"] .chatrow button{padding:9px 16px}
footer{flex-shrink:0;max-height:39px;min-height:39px;align-items:center;padding:7px 13px}
@media(max-width:850px){.titlebar{min-height:94px;max-height:108px;flex-wrap:wrap}.languages{order:3;width:100%;justify-content:center}.scroll[data-page="home"] .grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;overflow-y:auto}.scroll[data-page="home"] .card{min-height:150px}.scroll[data-page="home"],.scroll[data-page="chat"]{padding:12px}}
@media(max-width:550px){.scroll[data-page="home"] .grid{grid-template-columns:1fr}.scroll[data-page="home"] .pagehead,.scroll[data-page="chat"] .pagehead{margin-bottom:8px}.scroll[data-page="chat"] .pagehead .pill{display:none}}
@media(max-height:580px){.scroll[data-page="home"] .grid{overflow-y:auto}.scroll[data-page="home"] .card{min-height:135px}}

/* v1.3 - Desktop Normal mode centered in browser viewport */
.window.normal { position: fixed; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0; width: min(1200px, 100vw); height: min(700px, 100dvh); max-width: 100vw; max-height: 100dvh; }
.window:not(.normal) { position: fixed; inset: 0; transform: none; margin: 0; width: 100vw; height: 100dvh; border-radius: 0; }
.window[hidden] { display: none !important; }
@media (max-width: 1200px), (max-height: 700px) {.window.normal {border-radius: 0;}}

/* v1.4: three independent guidance forms, safe internal scrolling */
.scroll[data-page="education"],.scroll[data-page="career"],.scroll[data-page="digital"]{min-height:0;overflow-y:auto;padding-bottom:18px}
.domain-panel{max-width:100%;box-sizing:border-box}
.domain-panel .result{white-space:pre-line;overflow-wrap:anywhere;line-height:1.65;margin-top:14px}
.domain-panel textarea{min-height:90px;max-height:160px}
@media(max-height:740px){.scroll[data-page="education"] .pagehead,.scroll[data-page="career"] .pagehead,.scroll[data-page="digital"] .pagehead{margin-bottom:12px}.domain-panel{padding:16px}.domain-panel textarea{min-height:75px}}
