.exam-banner{background:color-mix(in srgb, var(--pro) 18%, var(--surface));border-bottom:1px solid color-mix(in srgb, var(--pro) 45%, transparent);color:var(--text);z-index:6;flex-wrap:wrap;flex:none;align-items:center;gap:10px;padding:7px 12px;font-size:13.5px;display:flex;position:relative}.exam-dot{background:var(--pro);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--pro) 30%, transparent);border-radius:50%;flex:none}.exam-text{flex-wrap:wrap;flex:200px;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.exam-text strong{font-weight:700}.exam-preset{color:var(--text-2);font-size:12.5px}.exam-clock{font-family:var(--mono);font-variant-numeric:tabular-nums;background:var(--surface-2);border-radius:8px;padding:3px 9px;font-size:15px;font-weight:700}.exam-banner.over .exam-clock{background:var(--danger);color:#fff}.exam-confirm{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.exam-confirm-q{font-weight:600}.exam-banner .btn-sm{padding:5px 11px;font-size:13px}.exam-setup{flex-direction:column;gap:14px;align-items:stretch!important}.exam-presets{border:0;gap:6px;margin:0;padding:0;display:grid}.exam-presets legend{margin-bottom:6px}.exam-preset-opt{cursor:pointer;background:var(--surface-3);border-radius:10px;align-items:flex-start;gap:10px;padding:9px 10px;display:flex}.exam-preset-opt.on{box-shadow:inset 0 0 0 2px var(--accent)}.exam-preset-opt input{accent-color:var(--accent);margin-top:3px}.exam-rules{gap:2px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.exam-rule{justify-content:space-between;align-items:center;gap:10px;padding:5px 2px;display:flex}.exam-rule-toggle{cursor:pointer;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.exam-rule-on{color:var(--text);font-weight:650}.exam-rule-off{color:var(--text-3)}.exam-timer{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.exam-minutes{color:var(--text-2);align-items:center;gap:6px;font-size:14px;display:inline-flex}.exam-minutes input{cursor:text;background-image:none;width:84px;padding-right:12px}.exam-disclaimer{color:var(--text-2);background:color-mix(in srgb, var(--pro) 12%, transparent);border-radius:10px;margin:0;padding:8px 10px;font-size:12.5px;line-height:1.45}.exam-actions{justify-content:flex-end;gap:8px;display:flex}.gex{flex-direction:column;gap:10px;display:flex}.gex-search{box-sizing:border-box;border:1px solid var(--border-2);background:var(--surface-2);width:100%;color:var(--text);font:inherit;border-radius:10px;padding:9px 12px;font-size:15px}.gex-chips{scrollbar-width:thin;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.gex-chip{cursor:pointer;background:var(--surface-2);color:var(--text-2);white-space:nowrap;border:0;border-radius:999px;flex:none;padding:6px 12px;font-size:13px;font-weight:600}.gex-chip:hover{background:var(--surface-3);color:var(--text)}.gex-chip.on{background:var(--accent);color:var(--accent-fg)}.gex-hint{color:var(--text-3);margin:0;font-size:12.5px}.gex-empty{color:var(--text-3);text-align:center;margin:0;padding:24px 0}.gex-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.gex-card{text-align:start;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;font:inherit;border-radius:12px;flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding:8px;display:flex}.gex-card:hover{background:var(--surface-2);border-color:var(--border-2)}.gex-thumb{aspect-ratio:3/2;border-radius:8px;width:100%;height:auto;display:block}.gex-title{font-size:13.5px;font-weight:650;line-height:1.25}.gex-desc{color:var(--text-3);font-size:12px;line-height:1.3}.gex-open{justify-content:flex-end;margin-bottom:8px;display:flex}.tsetup{flex-direction:column;gap:12px;width:100%;min-width:0;display:flex}.tfield{flex-direction:column;gap:5px;min-width:0;display:flex}.tfield-inline{flex-direction:row;justify-content:space-between;align-items:center}.tinput{box-sizing:border-box;border:1px solid var(--border-2);background:var(--surface-3);width:100%;min-width:0;color:var(--text);font:inherit;border-radius:10px;padding:8px 10px;font-size:15px}.tinput:focus{outline:2px solid var(--accent);outline-offset:0}.tinput[aria-invalid=true]{border-color:var(--danger)}.tmono{font-family:var(--mono);font-size:14px}.tblock{background:var(--surface-3);border-radius:12px;flex-direction:column;gap:10px;padding:10px;display:flex}.tblock .tinput,.tblock .select{background-color:var(--surface-2)}.tfns{gap:6px;margin:0;padding:0;list-style:none;display:grid}.tfns li{align-items:center;gap:6px;display:flex}.tfn-label{font-family:var(--mono);color:var(--text-2);min-width:3.4em;font-size:13px}.tfn-del{flex:none;width:32px;height:32px;font-size:18px}.twin{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;display:grid}.twin-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.tshare{flex-wrap:wrap;align-items:flex-start;gap:14px;display:flex}.tshare .qr{border-radius:8px;flex:none}.tshare-side{flex-direction:column;flex:200px;gap:8px;min-width:0;display:flex}.tlink{font-family:var(--mono);word-break:break-all;color:var(--text-2);background:var(--surface-3);border-radius:8px;max-height:6.5em;padding:7px 9px;font-size:12px;display:block;overflow:auto}.tshare-btns{flex-wrap:wrap;gap:6px;display:flex}.tform{flex-direction:column;gap:10px;align-items:stretch!important}.terr{color:var(--danger)}.tproj{z-index:100;color:#111;background:#fff;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.tproj-card{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:100%;display:flex}.tproj-title{margin:0;font-size:clamp(20px,3.4vw,44px);font-weight:800}.tproj-sub{color:#444;margin:0;font-size:clamp(14px,1.8vw,24px)}.tproj .qr{width:min(70vh,80vw);height:min(70vh,80vw)}.tproj-link{font-family:var(--mono);color:#555;word-break:break-all;font-size:clamp(11px,1.2vw,16px)}.tproj .btn{color:#111;background:#e8eaee}.tprompt{flex-direction:column;gap:10px;display:flex}.tprompt-name{margin:0;font-size:17px;font-weight:700}.tprompt-list{gap:4px;margin:0;padding-inline-start:20px;display:grid}.io-menu{z-index:60;background:var(--surface);min-width:200px;max-width:calc(100vw - 16px);color:var(--text);box-shadow:var(--shadow), inset 0 0 0 1px var(--border-2);border-radius:14px;flex-direction:column;padding:6px;animation:.14s ease-out pop-in;display:flex;position:fixed}.io-menu button{text-align:start;color:var(--text);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;padding:9px 12px;font-size:14.5px;font-weight:550}.io-menu button:hover,.io-menu button:focus-visible{background:var(--surface-2);outline:none}.io-menu hr{background:var(--border-2);border:0;height:1px;margin:5px 4px}.io-menu-label{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);padding:6px 12px 3px;font-size:11.5px;font-weight:700}.io{flex-direction:column;gap:14px;display:flex}.io-tabs{width:100%;display:flex}.io-tabs.seg{display:grid}.io-section{flex-direction:column;gap:12px;min-width:0;display:flex}.io-h{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin:6px 0 0;font-size:13px;font-weight:700}.io-label{color:var(--text-2);font-size:13.5px;font-weight:600}.io-note{color:var(--text-2);margin:0;font-size:14px}.io-hint{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;overflow:hidden}.io-error{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.45 var(--font);color:var(--danger);background:color-mix(in srgb, var(--danger) 10%, transparent);border-radius:10px;margin:0;padding:9px 12px}.io-source{flex-direction:column;gap:6px;display:flex}.io-text{box-sizing:border-box;resize:vertical;background:var(--surface-2);width:100%;color:var(--text);box-shadow:inset 0 0 0 1px var(--border);font:14px/1.45 var(--mono);border:0;border-radius:12px;padding:10px 12px}.io-text:focus{outline:2px solid color-mix(in srgb, var(--accent) 60%, transparent);outline-offset:0}.io-text:disabled{opacity:.5}.io-row{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.io-row-card{background:var(--surface-2);border-radius:12px;justify-content:space-between;padding:10px 12px}.io-opts{flex-wrap:wrap;align-items:center;gap:8px 16px;display:flex}.io-opt{color:var(--text-2);align-items:center;gap:8px;font-size:13.5px;display:inline-flex}.io-check{color:var(--text-2);cursor:pointer;align-items:center;gap:7px;font-size:13.5px;display:inline-flex}.io-check input{width:17px;height:17px;accent-color:var(--accent);margin:0}.select.select-sm{color:var(--text);background-position:right 8px center;max-width:160px;padding:6px 28px 6px 10px;font-size:13.5px}.io-table-wrap{max-height:300px;box-shadow:inset 0 0 0 1px var(--border-2);border-radius:12px;overflow:auto}.io-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:max-content;min-width:100%;font-size:13.5px}.io-table th,.io-table td{text-align:start;border-bottom:1px solid var(--border);white-space:nowrap;padding:6px 10px}.io-table thead th{background:var(--surface-2);font-weight:650;position:sticky;top:0}.io-table thead tr.io-map th{padding-top:2px;top:31px}.io-table tfoot td{vertical-align:top;border-bottom:0}.io-count{color:var(--text-3);font-size:12px}.io-warn{color:var(--pro);white-space:normal;max-width:160px;font-size:11.5px;display:block}.io-lists{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.io-lists li{background:var(--surface-2);border-radius:10px;padding:8px 10px}.io-list-name{color:var(--text);font-weight:650}.io-progs{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.io-progs li{background:var(--surface-2);border-radius:12px;min-width:0;padding:10px 12px}.io-prog-head{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.io-code{max-height:160px;font:12.5px/1.45 var(--mono);color:var(--text-2);white-space:pre;margin:8px 0 0;overflow:auto}.io-name{justify-content:space-between}.io-input{background:var(--surface-2);min-width:0;max-width:220px;color:var(--text);box-shadow:inset 0 0 0 1px var(--border);font:14px var(--mono);border:0;border-radius:10px;flex:1;padding:8px 10px}.io-mono{font-family:var(--mono)}.history-actions{flex-wrap:wrap}.history-actions .chip-btn{white-space:nowrap}.hk-caps{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:inline-flex}.hk-cap{--cap:var(--k-fn,#3a3f49);--cap-fg:var(--k-fn-fg,#f3f5f9);min-width:2.15em;min-height:1.95em;font:600 14px/1 var(--font-round,var(--font));color:var(--cap-fg);background:linear-gradient(180deg, color-mix(in srgb, var(--cap) 86%, white 14%), var(--cap) 55%, color-mix(in srgb, var(--cap) 90%, black 10%));white-space:nowrap;border-radius:.45em;flex-direction:column;justify-content:center;align-items:center;padding:.18em .55em;font-style:normal;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff24,0 1.5px #00000059,0 2px 5px #0003}.hk-s-num{--cap:var(--k-num,#50555f);--cap-fg:var(--k-num-fg,#fff)}.hk-s-op{--cap:var(--k-op,#4a4f59);--cap-fg:var(--k-op-fg,#fff)}.hk-s-nav{--cap:var(--k-nav,#3a3f49);--cap-fg:var(--k-nav-fg,#fff)}.hk-s-enter{--cap:var(--k-enter,#3d7be0);--cap-fg:var(--k-enter-fg,#fff)}.hk-s-clear{--cap:var(--k-clear,#555);--cap-fg:var(--k-clear-fg,#fff)}.hk-s-menu{--cap:var(--k-menu,#3a3f49);--cap-fg:var(--k-menu-fg,#fff);border-radius:999px}.hk-s-shift{--cap:var(--k-shift,#4f8cf0);--cap-fg:var(--k-shift-fg,#fff)}.hk-s-alpha{--cap:var(--k-alpha,#2fa36b);--cap-fg:var(--k-alpha-fg,#fff)}.hk-shift,.hk-alpha{--cap:var(--surface-2);background:var(--surface-2);box-shadow:inset 0 0 0 1.5px}.hk-shift{color:var(--lg-shift,#6aa5ff)}.hk-alpha{color:var(--lg-alpha,#4fd18e)}.hk-base{color:var(--text-3);margin-top:2px;font-size:9.5px;font-weight:600}.hk-label .tpl{font-size:1.05em}.hk-on .hk-cap{outline:2px solid var(--accent);outline-offset:2px}.help{flex-direction:column;gap:18px;padding-bottom:8px;display:flex}.help h4,.help-h{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin:6px 0 8px;font-size:12.5px;font-weight:700}.help-back{color:var(--accent);cursor:pointer;background:0 0;border:0;align-self:flex-start;align-items:center;gap:4px;padding:4px 2px;font-size:15px;font-weight:650;display:inline-flex}[dir=rtl] .flip-rtl{transform:scaleX(-1)}.help-note{color:var(--text-2);background:var(--surface-2);border-radius:12px;margin:0;padding:12px 14px;line-height:1.45}.hs-search{background:var(--surface-2);color:var(--text-3);border:1px solid var(--border);border-radius:12px;align-items:center;gap:8px;padding:0 12px;display:flex}.hs-search:focus-within{border-color:var(--accent)}.hs-input{min-width:0;color:var(--text);font:inherit;background:0 0;border:0;outline:none;flex:1;padding:11px 0;font-size:16px}.hs-input-sm{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;width:100%;margin-bottom:12px;padding:9px 12px;font-size:15px}.help-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.help-card{text-align:start;border:1px solid var(--border-2);background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;border-radius:14px;flex-direction:column;gap:3px;padding:14px 16px;display:flex}.help-card:hover{background:var(--surface-3)}.help-card.fam-ti{border-color:#4f8cf08c}.help-card.fam-casio{border-color:#e5574f8c}.help-card.fam-hp{border-color:#e3a43a8c}.help-card-k{letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);font-size:11.5px;font-weight:700}.help-card-t{letter-spacing:-.01em;font-size:17px;font-weight:700}.help-card-s{color:var(--text-2);font-size:13.5px;line-height:1.35}.help-courses{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.help-course{text-align:start;background:var(--surface-2);color:var(--text);cursor:pointer;font:inherit;border:0;border-radius:12px;flex-direction:column;gap:3px;padding:12px 14px;display:flex}.help-course:hover{background:var(--surface-3)}.help-course-t{font-size:15.5px;font-weight:700}.help-course-s{color:var(--text-2);font-size:13px;line-height:1.35}.help-course-n{color:var(--text-3);margin-top:2px;font-size:12px;font-weight:600}.help-models{flex-wrap:wrap;gap:6px;display:flex}.hl-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.hl-item{text-align:start;background:var(--surface-2);width:100%;color:var(--text);cursor:pointer;font:inherit;border:0;border-radius:12px;flex-direction:column;gap:2px;padding:11px 14px;display:flex}.hl-item:hover{background:var(--surface-3)}.hl-title{font-size:15px;font-weight:650}.hl-sum{color:var(--text-2);font-size:13.5px;line-height:1.35}.hg-guide,.hr-ref{flex-direction:column;gap:10px;max-width:760px;display:flex}.hg-title{letter-spacing:-.015em;margin:0;font-size:23px;line-height:1.2}.hg-summary{color:var(--text-2);margin:0;font-size:15.5px;line-height:1.45}.hg-p{margin:0;line-height:1.55}.hg-method{border:1px solid var(--border-2);background:color-mix(in srgb, var(--surface-2) 55%, transparent);border-radius:16px;flex-direction:column;gap:8px;margin-top:4px;padding:14px 16px;display:flex}.hg-tabs{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.hg-tab{border:1px solid var(--border-2);color:var(--text-2);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13.5px;font-weight:600;display:inline-flex}.hg-tab.on{background:var(--text);color:var(--bg);border-color:var(--text)}.hg-for{align-items:center;gap:7px;margin:0;font-weight:650;display:flex}.hg-start{color:var(--text-3);margin:0;font-size:13.5px}.hg-steps{gap:12px;margin:0;padding-inline-start:22px;display:grid}.hg-steps li{line-height:1.45}.hg-steps li::marker{color:var(--text-3);font-weight:700}.hg-say{display:block}.hg-prose{gap:8px}.hg-result{background:var(--surface-2);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:10px 12px;display:flex}.hg-result-k{letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);font-size:12px;font-weight:700}.hg-result-v{font-family:var(--mono);white-space:pre-wrap;font-size:14.5px}.hg-note{color:var(--text-2);margin:0;font-size:13.5px}.hg-try{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hg-tips ul{gap:6px;margin:0;padding-inline-start:20px;line-height:1.45;display:grid}.hr-keys{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;display:grid}.hr-key{background:var(--surface-2);border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.hr-key>.hk-cap{flex:none;margin-top:1px}.hr-layers{flex:1;gap:5px;min-width:0;margin:0;display:grid}.hr-layer{gap:1px;display:grid}.hr-layer dt{align-items:center;gap:6px;font-size:13.5px;font-weight:650;display:flex}.hr-layer dd{color:var(--text-2);margin:0;font-size:13px;line-height:1.35}.hr-via{border:1px solid;border-radius:5px;padding:1px 5px;font-size:10.5px;font-weight:750}.hr-via-shift{color:var(--lg-shift,#6aa5ff)}.hr-via-alpha{color:var(--lg-alpha,#4fd18e)}.hr-defs{gap:8px;margin:0;display:grid}.hr-defs>div{background:var(--surface-2);border-radius:12px;padding:10px 12px}.hr-defs dt{font-weight:700}.hr-defs dd{color:var(--text-2);margin:2px 0 0;font-size:14px;line-height:1.4}.key-tip{z-index:70;pointer-events:none;background:color-mix(in srgb, var(--surface) 94%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid var(--border-2);width:max-content;max-width:min(320px,100vw - 16px);box-shadow:var(--shadow);color:var(--text);border-radius:14px;align-items:flex-start;gap:10px;padding:10px 12px;animation:.14s ease-out tip-in;display:flex;position:fixed}.key-tip .hr-layer dd{font-size:12.5px}@keyframes tip-in{0%{opacity:0;transform:translateY(4px)}}.tour-root{z-index:80;position:fixed;inset:0}.tour-shield{position:absolute;inset:0}.tour-spot{pointer-events:none;box-shadow:0 0 0 3px var(--accent), 0 0 0 9999px #04060a9e;border-radius:14px;transition:left .28s,top .28s,width .28s,height .28s;position:fixed}.tour-card{background:var(--surface);width:min(320px,100vw - 16px);color:var(--text);border:1px solid var(--border-2);box-shadow:var(--shadow);border-radius:16px;padding:16px 16px 12px;transition:left .28s,top .28s;position:fixed}.tour-card h3{letter-spacing:-.01em;margin:0 0 6px;font-size:17px}.tour-card p{color:var(--text-2);margin:0;font-size:14.5px;line-height:1.45}.tour-card .tour-count{color:var(--text-3);letter-spacing:.04em;margin-bottom:4px;font-size:12px;font-weight:700}.tour-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.tour-sp{flex:1}.help-play{z-index:65;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface-3) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:max-content;max-width:calc(100vw - 24px);color:var(--text);box-shadow:var(--shadow);border-radius:16px;align-items:center;gap:12px;padding:10px 12px 10px 16px;font-size:14.5px;display:flex;position:fixed;transform:translate(-50%)}.help-play-text{flex-direction:column;gap:2px;min-width:0;font-weight:650;display:flex}.help-play-say{color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:46ch;font-size:13.5px;font-weight:500;overflow:hidden}.help-play-dot{background:var(--accent);border-radius:50%;flex:none;width:9px;height:9px;animation:1s ease-in-out infinite play-pulse}.help-play.done.ok{box-shadow:var(--shadow), inset 0 0 0 1.5px #34c759}.help-play.done.differs{box-shadow:var(--shadow), inset 0 0 0 1.5px var(--pro)}.help-play.done .help-play-text{max-width:52ch;font-weight:600}@keyframes play-pulse{50%{opacity:.35}}@media (prefers-reduced-motion:reduce){.tour-spot,.tour-card{transition:none}.key-tip,.help-play-dot{animation:none}}.help .lg-shift,.key-tip .lg-shift,.hr-via-shift,.hk-shift{color:color-mix(in srgb, var(--lg-shift,#6aa5ff) 65%, var(--text))}.help .lg-alpha,.key-tip .lg-alpha,.hr-via-alpha,.hk-alpha{color:color-mix(in srgb, var(--lg-alpha,#4fd18e) 65%, var(--text))}.help{min-height:min(62vh,560px)}
