:root{--bg:#111;--fg:#eee;--accent:#f2c14e;--strip:#1b1a18;--muted:#aaa}html,body,#root{background:var(--bg);height:100%;color:var(--fg);margin:0;font-family:system-ui,sans-serif}#root{flex-direction:column;display:flex}.reader{touch-action:pinch-zoom;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;flex-direction:column;flex:1;min-height:0;display:flex}.bar{color:var(--muted);justify-content:space-between;align-items:center;padding:0 8px;font-size:14px;display:flex}.bar button,.controls button{color:var(--fg);background:0 0;border:0;min-width:44px;min-height:44px;font-size:22px}.page{background:#000;flex:none;width:100%;position:relative;overflow:hidden;container-type:size}.page img{pointer-events:none;position:absolute}.line{white-space:pre;transform-origin:0 100%;z-index:2;position:absolute}.line.static{pointer-events:none}.hit{z-index:1;border-radius:12px;position:absolute}.hit.active{box-shadow:0 0 0 2px var(--accent)}.w.on{background:var(--accent);color:#000;border-radius:3px}.w.sel{background:#f2c14e73;border-radius:3px}.controls{justify-content:center;gap:8px;display:flex}.strip{background:var(--strip);overscroll-behavior:contain;flex:1;min-height:0;padding:12px 16px 16px;position:relative;overflow:auto}.strip.closed{flex:none;height:44px;padding:0}.toggle{color:var(--fg);background:0 0;border:0;min-width:44px;min-height:44px;font-size:18px;position:absolute;top:0;right:4px}.who{margin-bottom:4px;font-size:14px;font-weight:700}.txt{margin:0 44px 8px 0;font-size:24px;line-height:1.5}.en{color:var(--fg);background:0 0;border:1px solid #555;border-radius:6px;min-height:44px;padding:4px 12px}.tr{color:var(--muted);font-size:18px}.hint{color:var(--muted)}.card{z-index:10;background:#2a2826;border-radius:12px;padding:16px;position:fixed;bottom:16px;left:16px;right:16px;box-shadow:0 8px 24px #00000080}.card .head{font-size:22px}.card .note{color:var(--muted)}.card button{color:var(--fg);background:#3a3734;border:0;border-radius:8px;min-height:44px;margin:8px 8px 0 0;padding:0 14px}.import{padding:24px 16px}.btn{background:var(--accent);color:#000;border-radius:8px;padding:12px 16px;display:inline-block}.error{color:#ff8a80}.warn{background:#5a4300;margin:0;padding:6px 12px;font-size:13px}.center{text-align:center;margin-top:40vh}
