:root{--bg:#0b120d;--panel:#101a13;--panel2:#15221a;--line:#2a4a33;--text:#d3ecd8;--dim:#82a98c;--accent:#8cff9b;--amber:#ffd479;--bad:#ff8a80;--font:ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--bg);height:100%;color:var(--text);font-family:var(--font);overscroll-behavior:none;touch-action:manipulation;margin:0;font-size:15px;line-height:1.45}body{justify-content:center;display:flex}#app{background:var(--bg);border-left:1px solid var(--line);border-right:1px solid var(--line);width:100%;max-width:560px;height:100dvh;position:relative;overflow:hidden}button{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer}p{margin:0 0 8px}h3{letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin:18px 0 8px;font-size:13px}[data-en]{display:none}#app.show-en [data-en]{display:block}.en{color:var(--dim);font-size:13px}.en.small,.small{font-size:13px}.center{text-align:center}.screen{flex-direction:column;display:flex;position:absolute;inset:0}.bar{background:var(--panel);border-bottom:1px solid var(--line);flex:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.bar .title{color:var(--accent);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:700;overflow:hidden}.chip{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:4px;padding:4px 10px}.chip.on{background:var(--accent);color:var(--bg);border-color:var(--accent)}.tabbody{flex:1;padding:14px 12px 24px;overflow-y:auto}.tabs{background:var(--panel);border-top:1px solid var(--line);flex:none;display:flex}.tab{border:0;border-right:1px solid var(--line);color:var(--dim);background:0 0;flex:1;padding:12px 2px;font-size:12px}.tab:last-child{border-right:0}.tab.on{color:var(--accent);background:var(--panel2);box-shadow:inset 0 2px 0 var(--accent)}.tip{color:var(--dim);font-size:13px}.placeholder{color:var(--dim);font-style:italic}.recent{color:var(--dim);font-size:13px}.speaker{color:var(--amber)}.ascii{font-family:var(--font);color:var(--accent);margin:0 0 12px;line-height:1.15;overflow-x:auto}.logo{color:var(--accent);font-size:14px}.title-art{color:var(--amber);width:fit-content;max-width:100%;margin:28px auto 18px;font-size:13px}.stamp{color:var(--amber);width:fit-content;max-width:100%;margin:16px auto;font-size:14px}.portrait-art{color:var(--accent);flex:none;margin:0;font-size:13px}.title-screen{justify-content:center;align-items:stretch;gap:6px;padding:0 20px}.card{text-align:left;background:var(--panel);border:1px solid var(--line);width:100%;color:var(--text);border-radius:6px;margin:0 0 10px;padding:12px;display:block}button.card:active,.option:active,.btn:active{background:var(--panel2)}.doc-kind{color:var(--amber);letter-spacing:.04em;font-size:12px}.doc-title{color:var(--text);font-weight:700}.doc-from{color:var(--dim);font-size:12px}.case-card.solved{border-color:var(--accent)}.btn{background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:6px;margin:6px 6px 6px 0;padding:10px 14px;display:inline-block}.btn.primary{background:var(--accent);color:var(--bg);border-color:var(--accent);font-weight:700}.btn:disabled{opacity:.4}.row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;display:flex}.person{align-items:flex-start;gap:14px;display:flex}.person-info{flex:1;min-width:0}.note{gap:12px;display:flex}.note .num{color:var(--amber)}.word-row{border-bottom:1px dotted var(--line);grid-template-columns:1fr 1fr auto;gap:10px;padding:6px 0;font-size:14px;display:grid}.en-inline{color:var(--dim)}.boxes{color:var(--accent);letter-spacing:2px}.question{margin-top:12px}.locked{color:var(--dim)}.hint-card{border-style:dashed}.overlay{z-index:10;background:var(--bg);flex-direction:column;display:flex;position:absolute;inset:0}.doc-body{flex:1;padding:14px 12px 24px;overflow-y:auto}.meta{color:var(--amber);font-size:13px}.doc-line{border-left:2px solid var(--line);margin-bottom:14px;padding-left:10px}.observations{margin-top:12px}.obs-title{color:var(--amber);margin-bottom:4px;font-weight:700}.objects{flex-direction:column;gap:6px;display:flex}.sk{font-size:15px;line-height:1.4}.w{display:inline}.clue{border-bottom:2px solid var(--amber);cursor:pointer;background:#ffd47924;padding:0 1px}.clue.got{border-bottom-color:var(--accent);background:#8cff9b24}.interview-bar{align-items:center}.who-block{flex:1;min-width:0}.who-block .name{color:var(--accent);font-weight:700}.who-block .role{color:var(--dim);font-size:12px}.transcript{flex:1;padding:12px;overflow-y:auto}.line{gap:8px;margin-bottom:14px;display:flex}.line .tag{color:var(--amber);flex:none;font-weight:700}.line.me .tag{color:var(--accent)}.line .body{flex:1;min-width:0}.line.me .sk{color:var(--accent)}.controls{background:var(--panel);border-top:1px solid var(--line);flex:none;max-height:58%;padding:12px;overflow-y:auto}.task-instruction{font-weight:700}.task-sentence{margin-bottom:4px}.options{flex-direction:column;gap:8px;margin:10px 0;display:flex}.option{text-align:left;background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:10px 12px}.option .kind{color:var(--amber)}.option.ok{border-color:var(--accent);background:#8cff9b1f}.option.no{border-color:var(--bad);color:var(--dim);text-decoration:line-through}.option.done{color:var(--dim)}.answer-row{border-bottom:2px solid var(--line);flex-wrap:wrap;align-items:center;gap:6px;min-height:52px;margin:10px 0;padding:8px;display:flex}.bank{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.tile{background:var(--panel2);border:1px solid var(--accent);color:var(--text);box-shadow:0 2px 0 var(--line);border-radius:6px;padding:8px 12px}.tile.used{opacity:.25;border-color:var(--line)}.tile.in-answer{background:var(--bg)}.punct{color:var(--accent);font-weight:700}.feedback{margin-top:8px}.fb{margin:6px 0 2px}.fb.good{color:var(--accent)}.fb.bad{color:var(--bad)}.fb.hint{color:var(--amber)}.fb-en{color:var(--dim)}.hint-word{color:var(--amber);font-weight:700}.nowrap{white-space:nowrap}.answer{color:var(--text);background:var(--bg);border:1px solid var(--accent);border-radius:6px;min-width:0;padding:8px 10px;font-family:inherit;font-size:16px}.answer:focus{outline:none;box-shadow:0 0 0 2px #8cff9b4d}.search-input{flex:1}.task-host{margin-top:12px}.toasts{z-index:50;pointer-events:none;flex-direction:column;gap:6px;display:flex;position:absolute;top:56px;left:12px;right:12px}.toast{pointer-events:auto;text-align:left;background:var(--panel2);border:1px solid var(--accent);width:100%;color:var(--accent);border-radius:6px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;font-size:13px;animation:.2s ease-out pop;display:flex;box-shadow:0 6px 20px #00000080}.toast-x{color:var(--dim);flex:none}.toast.info{border-color:var(--amber);color:var(--amber)}@keyframes pop{0%{opacity:0;transform:translateY(-6px)}}.battle{gap:10px;padding:12px;overflow-y:auto}.battle .title{text-align:center;color:var(--accent);font-weight:700}.battle .head{align-items:center;gap:10px;display:flex}.battle .head .name{flex:1;font-weight:700}.portrait{border-radius:6px;flex:none;place-items:center;width:34px;height:34px;font-weight:700;display:grid}.meter-row{align-items:center;gap:10px;font-size:13px;display:flex}.meter{border:1px solid var(--line);background:var(--bg);border-radius:6px;flex:1;height:12px;overflow:hidden}.meter .fill{background:var(--accent);width:0;height:100%;transition:width .4s}.turn{color:var(--dim);font-size:12px}.stage{flex:1;align-items:center;display:flex}.bubble{background:var(--panel);border:1px solid var(--line);border-radius:6px;width:100%;padding:14px}.bubble.good{border-color:var(--accent)}.bubble.bad{border-color:var(--bad)}.lvl{float:right;border:1px solid var(--accent);color:var(--accent);border-radius:4px;margin-left:8px;padding:1px 6px;font-size:11px}.definition{margin:0 0 8px;font-weight:700}.recall-en{margin:4px 0 10px;font-size:20px;font-weight:700}.reward{color:var(--accent);text-align:center;font-weight:700}.bottom .menu{flex-direction:column;gap:8px;display:flex}.choice{text-align:left;background:var(--panel);border:1px solid var(--line);width:100%;color:var(--text);border-radius:6px;margin-bottom:6px;padding:11px 12px;display:block}.choice:active{background:var(--panel2)}.note-en{color:var(--dim)}.say-label{color:var(--dim);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:12px}.say{color:var(--amber);margin:0 0 8px;font-size:17px;font-weight:700}.word-chips{flex-wrap:wrap;gap:6px;margin:8px 0 12px;display:flex}.word-chip{border:1px solid var(--line);color:var(--amber);border-radius:14px;flex-direction:column;padding:4px 10px;display:inline-flex}.word-chip.used{border-color:var(--accent);color:var(--accent);background:#8cff9b1a}.word-chip .en{margin:0}.summary-text{box-sizing:border-box;background:var(--panel);width:100%;color:var(--text);border:1px solid var(--line);font:inherit;resize:vertical;border-radius:6px;padding:10px;font-size:15px;line-height:1.4}.summary-text:focus{border-color:var(--accent);outline:none}.overlay.summary .btn{margin-top:10px}
