.viewer[data-v-5bb826e2]{position:fixed;inset:0;z-index:50;background:#0b0a0f;color:#f4f2f8;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--viewer-muted: #A7A1B6}.vhead[data-v-5bb826e2]{display:flex;align-items:center;gap:8px;padding:6px var(--gutter-r) 6px var(--gutter-l);max-width:480px;width:100%;margin:0 auto}.vhead .grow[data-v-5bb826e2]{flex:1;font-weight:600}.icon[data-v-5bb826e2]{width:44px;height:44px;border-radius:22px;border:0;background:#ffffff1a;color:#f4f2f8;font-size:20px}.vstage[data-v-5bb826e2]{position:relative;width:min(100%,480px,calc((100vh - 300px)*.75));aspect-ratio:3 / 4;margin:0 auto;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:6px;background:#1a1820}.layer[data-v-5bb826e2]{position:absolute;inset:0;transform-origin:0 0}.layer img[data-v-5bb826e2]{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.layer img.before[data-v-5bb826e2]{object-fit:cover}.handle[data-v-5bb826e2]{position:absolute;top:0;bottom:0;width:44px;margin-left:-22px;display:flex;justify-content:center;cursor:ew-resize}.handle[data-v-5bb826e2]:before{content:"";width:2px;height:100%;background:#fff;box-shadow:0 0 6px #00000080}.handle span[data-v-5bb826e2]{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border-radius:17px;background:#fff;color:#111;display:grid;place-items:center;font-weight:700}.tag[data-v-5bb826e2]{position:absolute;top:8px;padding:2px 8px;border-radius:6px;background:#0000008c;color:#fff;font-size:12px;pointer-events:none}.hint[data-v-5bb826e2]{font-size:12px;color:var(--viewer-muted);text-align:center;margin-top:6px}.vpanel[data-v-5bb826e2]{flex:1;overflow-y:auto;max-width:480px;width:100%;margin:10px auto 0;padding:0 var(--gutter-r) 16px var(--gutter-l);display:flex;flex-direction:column;gap:10px}.note[data-v-5bb826e2]{background:#17151d;border-radius:10px;padding:10px 12px;font-size:14px}.scores[data-v-5bb826e2]{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.score[data-v-5bb826e2]{background:#17151d;border-radius:10px;padding:8px;display:flex;flex-direction:column}.score .k[data-v-5bb826e2]{font-size:11px;color:var(--viewer-muted)}.score .v[data-v-5bb826e2]{font-family:var(--mono);font-size:18px;font-weight:600}.score.low .v[data-v-5bb826e2]{color:#f07167}.vbtn[data-v-5bb826e2]{min-height:40px;padding:0 14px;border-radius:10px;border:1px solid #3a3644;background:#17151d;color:#f4f2f8}.vbtn[aria-pressed=true][data-v-5bb826e2]{background:#9c87ff;border-color:#9c87ff;color:#120f1a;font-weight:600}:root{--bg: #F5F4F8;--surface: #FFFFFF;--surface-2: #EEECF4;--fg: #17141F;--muted: #6B6680;--line: #E1DEEA;--accent: #5A3ED6;--accent-soft: #ECE8FD;--on-accent: #FFFFFF;--good: #1D8A57;--good-soft: #E2F3EA;--warn: #9C620E;--warn-soft: #FBF0DC;--bad: #C23B35;--bad-soft: #FBE6E4;--scrim: rgba(12, 10, 18, .45);--shadow: 0 1px 2px rgba(23, 20, 31, .05), 0 6px 20px rgba(23, 20, 31, .06);--font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", sans-serif;--mono: ui-monospace, "SF Mono", Menlo, monospace;--radius: 14px;--gutter-l: max(16px, env(safe-area-inset-left, 0px));--gutter-r: max(16px, env(safe-area-inset-right, 0px));color-scheme:light}@media(prefers-color-scheme:dark){:root{--bg: #121016;--surface: #1B1822;--surface-2: #25212E;--fg: #F1EEF7;--muted: #A39DB3;--line: #312C3B;--accent: #9C87FF;--accent-soft: #2A2442;--on-accent: #120F1A;--good: #4CC38A;--good-soft: #17301F;--warn: #E3B04B;--warn-soft: #33270F;--bad: #F07167;--bad-soft: #3A1A18;--scrim: rgba(0, 0, 0, .6);--shadow: 0 1px 2px rgba(0, 0, 0, .3);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg)}body{color:var(--fg);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-text-size-adjust:100%;padding-top:env(safe-area-inset-top,0px)}body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--bg)}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.app{max-width:480px;margin:0 auto;min-height:100vh}.page{padding-left:var(--gutter-l);padding-right:var(--gutter-r);padding-block:0 calc(96px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}.head{position:sticky;top:env(safe-area-inset-top,0px);z-index:5;background:var(--bg);padding-block:12px 10px;display:flex;align-items:center;gap:10px;min-height:56px}.head h1{font-size:22px;line-height:1.25;margin:0;text-wrap:balance}.head .sub{color:var(--muted);font-size:13px}.head .grow{flex:1;min-width:0}.back{width:44px;height:44px;margin-left:-10px;border:0;background:none;border-radius:22px;display:grid;place-items:center}.back svg{width:22px;height:22px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;display:flex;flex-direction:column;gap:10px;min-width:0}.section-title{font-size:13px;color:var(--muted);letter-spacing:.04em;margin:4px 2px -6px}.muted{color:var(--muted)}.small{font-size:13px}.row{display:flex;align-items:center;gap:10px;min-width:0}.row>.grow{flex:1;min-width:0}.wrap{flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:8px;min-width:0}.error{color:var(--bad);font-size:14px}.btn{min-height:44px;padding:0 16px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn.danger{color:var(--bad)}.btn.block{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.small{min-height:36px;padding:0 12px;font-size:14px;border-radius:10px}.chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600;background:var(--surface-2);color:var(--muted);white-space:nowrap}.chip.good{background:var(--good-soft);color:var(--good)}.chip.warn{background:var(--warn-soft);color:var(--warn)}.chip.bad{background:var(--bad-soft);color:var(--bad)}.pick{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface);font-size:14px}.pick[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent);font-weight:600}.stats{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stat{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px;border:0;text-align:left;display:flex;flex-direction:column;gap:2px;min-height:92px}.stat .k{font-size:13px;color:var(--muted)}.stat .v{font-size:26px;font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1.2}.stat .v small{font-size:14px;color:var(--muted);font-weight:500}.meter{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden;display:block}.meter>i{display:block;height:100%;background:var(--accent);border-radius:3px}.meter.warn>i{background:var(--warn)}.log{display:flex;flex-direction:column}.log div{display:flex;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:14px}.log div:first-child{border-top:0}.log .num{color:var(--muted);font-size:12px;flex:none;width:76px;padding-top:2px}.list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list>.item{width:100%;border:0;background:none;display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:52px;text-align:left;border-top:1px solid var(--line)}.list>.item:first-child{border-top:0}.list .grow{flex:1;min-width:0}.list .value{color:var(--muted);font-size:14px;text-align:right}.chev{width:18px;height:18px;color:var(--muted);flex:none}.switch{width:50px;height:30px;border-radius:15px;background:var(--surface-2);border:1px solid var(--line);position:relative;flex:none;padding:0}.switch:after{content:"";position:absolute;top:2px;left:2px;width:24px;height:24px;border-radius:12px;background:var(--surface);box-shadow:0 1px 3px #00000040;transition:left .15s}.switch[aria-checked=true]{background:var(--good);border-color:var(--good)}.switch[aria-checked=true]:after{left:22px}.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden;flex:none}.stepper button{width:40px;height:38px;border:0;background:var(--surface-2);font-size:18px}.stepper span{min-width:64px;text-align:center;font-family:var(--mono);font-variant-numeric:tabular-nums}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:13px;color:var(--muted)}.field input,.field select,.field textarea{min-height:44px;border-radius:10px;border:1px solid var(--line);background:var(--surface);padding:10px 12px;width:100%}.field textarea{min-height:96px;resize:vertical}.field textarea.doc{min-height:60vh;font-family:var(--mono);font-size:13px;line-height:1.55}.md{font-size:14px;line-height:1.65;gap:0;overflow-wrap:anywhere}.md h2,.md h3,.md h4,.md h5{line-height:1.35;margin:18px 0 6px;text-wrap:balance}.md h2{font-size:19px;margin-top:0}.md h3{font-size:17px}.md h4,.md h5{font-size:15px}.md p,.md ul,.md ol,.md blockquote,.md pre,.md .md-table{margin:0 0 10px}.md ul,.md ol{padding-left:20px}.md li{margin:2px 0}.md blockquote{padding:8px 12px;border-radius:10px;background:var(--surface-2);color:var(--muted)}.md code{font-family:var(--mono);font-size:12.5px;background:var(--surface-2);padding:1px 4px;border-radius:4px;overflow-wrap:anywhere}.md pre{background:var(--surface-2);border-radius:10px;padding:10px 12px;overflow-x:auto}.md pre code{background:none;padding:0;white-space:pre;overflow-wrap:normal}.md .md-table{overflow-x:auto}.md table{border-collapse:collapse;font-size:13px;min-width:100%}.md th,.md td{border-top:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top;min-width:72px}.md th{color:var(--muted);font-weight:600;border-top:0}.progress-list{display:flex;flex-direction:column;gap:6px;font-size:14px}.progress-list div{display:flex;justify-content:space-between}.empty{display:flex;flex-direction:column;gap:10px;align-items:flex-start}.empty h2{font-size:17px;margin:0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:var(--gutter-l);padding-right:var(--gutter-r)}.tabbar nav{max-width:480px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr)}.tabbar button{border:0;background:none;min-height:56px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--muted);position:relative}.tabbar button svg{width:22px;height:22px}.tabbar button[aria-current=page]{color:var(--accent);font-weight:600}.tabbar .dot{position:absolute;top:6px;left:calc(50% + 6px);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:var(--bad);color:#fff;font-size:10px;line-height:16px;font-family:var(--mono)}.scrim{position:fixed;inset:0;background:var(--scrim);z-index:40;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;max-height:88vh;overflow-y:auto;background:var(--bg);border-radius:18px 18px 0 0;padding:8px var(--gutter-r) calc(20px + env(safe-area-inset-bottom,0px)) var(--gutter-l);display:flex;flex-direction:column;gap:14px}.sheet .grab{width:40px;height:5px;border-radius:3px;background:var(--line);align-self:center;margin-bottom:2px}.sheet h2{font-size:19px;margin:0;text-wrap:balance}.sheet .actions{display:grid;grid-template-columns:1fr 1.6fr;gap:8px}.toast{position:fixed;left:50%;transform:translate(-50%);bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--fg);color:var(--bg);padding:10px 16px;border-radius:12px;font-size:14px;max-width:calc(100% - 32px);box-shadow:0 8px 24px #0003}.login{min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:20px;padding-block:24px;padding-left:var(--gutter-l);padding-right:var(--gutter-r);max-width:420px;margin:0 auto}.login h1{font-size:26px;margin:0}.mark{width:48px;height:48px;border-radius:14px;background:var(--accent);color:var(--on-accent);display:grid;place-items:center}.mark svg{width:28px;height:28px}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.steps-wrap{display:flex;flex-direction:column;gap:4px}.steps{display:flex;gap:4px}.steps i{flex:1;height:6px;border-radius:3px;background:var(--surface-2)}.steps i.done{background:var(--accent)}.steps i.now{background:linear-gradient(90deg,var(--accent) 50%,var(--surface-2) 50%)}.steps i.stuck{background:var(--warn)}.step-names{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.thumbs{display:flex;gap:6px;flex-wrap:wrap}.thumbs img{width:64px;height:64px;border-radius:8px;object-fit:cover;background:var(--surface-2)}.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.grid4 a{position:relative;display:block;aspect-ratio:3 / 4;border-radius:8px;overflow:hidden;background:var(--surface-2)}.grid4 img{width:100%;height:100%;object-fit:cover;display:block}.grid4 .badge{position:absolute;left:4px;bottom:4px;font-size:10px;padding:1px 5px;border-radius:6px;background:#0009;color:#fff}.grid4 .badge.bad{background:var(--bad)}.grid4 .badge.look{background:var(--warn)}.finding{border-top:1px solid var(--line);padding:8px 0;display:flex;flex-direction:column;gap:3px;font-size:14px}.finding:first-of-type{border-top:0}.quote{font-family:var(--mono);font-size:12px;color:var(--muted);overflow-wrap:anywhere}.code{font-family:var(--mono);font-size:12px;line-height:1.55;background:var(--surface-2);border-radius:10px;padding:10px;overflow-x:auto;white-space:pre-wrap;word-break:break-word;max-height:420px;overflow-y:auto;margin:0}details summary{cursor:pointer;min-height:32px;display:flex;align-items:center}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:14px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;min-width:0}.wall{display:grid;grid-template-columns:1fr 1fr;gap:10px}.tile{border:0;padding:0;background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow);text-align:left;display:flex;flex-direction:column;min-width:0}.tile .pic{position:relative;aspect-ratio:3 / 4;max-width:100%;background:var(--surface-2)}.tile .pic img{width:100%;height:100%;display:block;object-fit:cover}.tile .pic img.before{position:absolute;left:6px;bottom:6px;width:30%;height:auto;aspect-ratio:3 / 4;border-radius:6px;border:2px solid #fff;box-shadow:0 2px 6px #00000040}.tile .meta{padding:8px 10px 10px;display:flex;flex-direction:column;gap:4px}.tile .why{font-size:12px;color:var(--muted);line-height:1.4}.tile.bad{outline:2px solid var(--bad)}.tile.look{outline:2px solid var(--warn)}.segs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(-1 * var(--gutter-r)) 0 calc(-1 * var(--gutter-l));padding:2px var(--gutter-r) 2px var(--gutter-l)}.segs::-webkit-scrollbar{display:none}.segs .pick{flex:none}.covers{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.covers button{border:2px solid transparent;padding:0;border-radius:10px;overflow:hidden;background:none;flex:none}.covers button[aria-pressed=true]{border-color:var(--accent)}.covers img{width:72px;height:96px;object-fit:cover;display:block}.actionbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--surface);border-top:1px solid var(--line);padding:10px var(--gutter-r) calc(10px + env(safe-area-inset-bottom,0px)) var(--gutter-l)}.actionbar>div{max-width:448px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:8px}.models{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.models button{border:0;padding:0;background:none;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted);align-items:center;min-width:0}.models img,.models .ph{width:100%;aspect-ratio:3 / 4;height:auto;max-width:100%;border-radius:8px;object-fit:cover;background:var(--surface-2);display:grid;place-items:center}.models .chip{font-size:10px;padding:0 6px}.fab{position:fixed;z-index:21;right:max(calc(16px + env(safe-area-inset-right,0px)),calc((100vw - 480px)/2 + 16px));bottom:calc(72px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:28px;border:0;background:var(--accent);color:var(--on-accent);font-size:28px;line-height:1;box-shadow:0 6px 20px #3c28a059}
