:root{--paper: #f4f4f4;--surface: #ffffff;--surface-2: #fafafa;--ink: #1a1a1a;--muted: rgba(26, 26, 26, .58);--faint: rgba(26, 26, 26, .38);--hair: rgba(26, 26, 26, .12);--hair-strong: rgba(26, 26, 26, .22);--accent: #d32f2f;--accent-soft: rgba(211, 47, 47, .08);--good: #1f9d63;--shadow-1: 0 1px 2px rgba(26, 26, 26, .06), 0 2px 10px rgba(26, 26, 26, .05);--shadow-2: 0 12px 34px rgba(26, 26, 26, .16);--lib-w: 556px;--mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;color:var(--ink);font-family:var(--sans);font-size:14px;background:radial-gradient(120% 100% at 0% 0%,rgba(211,47,47,.06),transparent 55%),var(--paper);-webkit-font-smoothing:antialiased}button{font:inherit;color:inherit;border:1px solid var(--hair-strong);background:var(--surface);border-radius:8px;padding:6px 12px;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .05s ease}button:hover{background:#f0f0f0}button:active{transform:translateY(1px)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover{background:#b71c1c}button:disabled{opacity:.45;cursor:not-allowed}.app{display:flex;flex-direction:column;height:100%}.topbar{height:56px;flex:0 0 56px;display:flex;align-items:center;gap:14px;padding:0 18px;background:var(--surface);border-bottom:1px solid var(--hair)}.brand{display:flex;align-items:baseline;gap:8px}.brand b{font-size:17px;letter-spacing:.06em}.brand b span{color:var(--accent)}.brand em{font-style:normal;font-family:var(--mono);font-size:11px;color:var(--faint);letter-spacing:.08em}.topbar .spacer{flex:1}.topbar .who{font-size:12px;color:var(--muted);font-family:var(--mono)}.save-state{font-size:12px;color:var(--muted);min-width:74px;text-align:right}.save-state.dirty{color:var(--accent)}.save-state.saved{color:var(--good)}.body{flex:1;display:flex;min-height:0}.library{width:400px;flex:0 0 400px;background:var(--surface);border-right:1px solid var(--hair);display:flex;flex-direction:column;min-height:0}.library-head{padding:14px 14px 8px}.library-head h2{margin:0 0 2px;font-size:13px;letter-spacing:.05em}.library-head p{margin:0;font-size:11px;color:var(--muted);line-height:1.5}.library-search{margin:8px 14px}.library-search input{width:100%;padding:7px 10px;border-radius:8px;border:1px solid var(--hair-strong);background:var(--surface-2);font:inherit;font-size:13px}.library-search input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.tabs{display:flex;gap:6px;padding:0 14px 10px}.tabs button{font-size:12px;padding:4px 10px;border-radius:999px}.tabs button.on{background:var(--ink);border-color:var(--ink);color:#fff}.items{flex:1;overflow:auto;padding:0 10px 14px}.items-empty{color:var(--faint);font-size:12px;padding:18px 8px}.item{display:flex;align-items:center;gap:10px;padding:9px 10px;margin-bottom:8px;background:var(--surface);border:1px solid var(--hair);border-radius:10px;cursor:grab;-webkit-user-select:none;user-select:none;transition:border-color .12s ease,box-shadow .12s ease}.item:hover{border-color:var(--hair-strong);box-shadow:var(--shadow-1)}.item:active{cursor:grabbing}.item .dot{width:10px;height:10px;border-radius:3px;flex:0 0 auto}.item .meta{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.item .title{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item .sub{font-size:11px;color:var(--muted);font-family:var(--mono);white-space:nowrap}.item .aud{font-size:11px;padding:3px 8px;border-radius:999px}.item.playing{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.stage{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.stage-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--hair);background:#fff9}.stage-bar .label{font-size:12px;color:var(--muted)}.stage-bar select{font:inherit;font-size:13px;padding:5px 8px;border-radius:8px;border:1px solid var(--hair-strong);background:var(--surface)}.stage-bar .spacer{flex:1}.stage-bar .mixlen{font-family:var(--mono);font-size:12px;color:var(--muted)}.grid-scroll{flex:1;overflow:auto;padding:16px 18px 92px}.grid{width:max-content;margin:0;background:#fbfbfb;border:1px solid var(--hair);border-radius:14px;padding:12px 14px 6px;box-shadow:var(--shadow-1)}.cols{display:flex;position:sticky;top:0;z-index:4;background:#fbfbfb;padding-bottom:6px}.cols .rh{width:68px;flex:0 0 68px}.cols .ch{width:88px;flex:0 0 88px;height:24px;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--faint);border-left:1px solid var(--hair)}.cols .ch:nth-child(2){border-left:0}.cols .ch.half{border-left:1px solid var(--hair-strong)}.row{display:flex}.row-head{width:68px;flex:0 0 68px;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:1px;padding-right:10px;font-family:var(--mono)}.row-head .n{font-size:12px;color:var(--ink)}.row-head .t{font-size:10px;color:var(--faint)}.lane{position:relative;flex:0 0 auto;background:var(--surface);border:1px solid var(--hair);border-radius:8px;margin-bottom:6px;overflow:hidden}.lane.drop{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft) inset}.cells{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;pointer-events:none}.cells i{width:88px;flex:0 0 88px;border-left:1px dashed rgba(26,26,26,.1)}.cells i:first-child{border-left:0}.cells i.half{border-left:1px solid rgba(26,26,26,.2)}.block{position:absolute;display:flex;align-items:center;gap:6px;padding:0 10px;border-radius:8px;overflow:hidden;font-size:12px;font-weight:600;color:#fff;box-shadow:0 1px #ffffff59 inset,0 2px 6px #1a1a1a29;cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;transition:transform .08s ease,box-shadow .12s ease}.block:hover{transform:translateY(-1px);box-shadow:0 1px #ffffff59 inset,0 6px 14px #1a1a1a38}.block.sel{outline:2px solid var(--ink);outline-offset:1px}.block .nm{overflow:hidden;text-overflow:ellipsis}.block .tag{font-family:var(--mono);font-size:10px;opacity:.85;font-weight:500}.block .tail{opacity:.8}.ghost-block{position:absolute;border:2px dashed var(--accent);background:var(--accent-soft);border-radius:8px;pointer-events:none;display:flex;align-items:center;padding:0 8px;font-size:11px;color:var(--accent);font-family:var(--mono)}.playhead-cell{position:absolute;top:0;bottom:0;width:88px;background:#d32f2f1a;box-shadow:inset 0 0 0 2px #d32f2f8c;pointer-events:none;z-index:3}.empty-hint{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--faint);font-size:12px;pointer-events:none}.previewbar{position:fixed;left:var(--lib-w);right:0;bottom:0;z-index:8;display:flex;align-items:center;gap:12px;padding:10px 18px;background:var(--surface);border-top:1px solid var(--hair);box-shadow:0 -8px 24px #1a1a1a0f}.previewbar .play{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--accent);border-color:var(--accent);color:#fff;font-size:13px}.previewbar .play:hover{background:#b71c1c}.previewbar .prog{flex:1;height:4px;background:#1a1a1a1a;border-radius:999px;overflow:hidden}.previewbar .prog>i{display:block;height:100%;background:var(--accent);width:0%}.previewbar .time{font-family:var(--mono);font-size:11px;color:var(--muted);min-width:88px;text-align:right}.badge{font-size:11px;padding:3px 8px;border-radius:999px;border:1px solid var(--hair-strong);color:var(--muted);font-family:var(--mono)}.badge.wm{color:var(--accent);border-color:#d32f2f59;background:var(--accent-soft)}.badge.ok{color:var(--good);border-color:#1f9d634d;background:#1f9d6314}.auth-wrap{min-height:100%;display:grid;place-items:center;padding:24px}.auth-card{width:380px;background:var(--surface);border:1px solid var(--hair);border-radius:16px;padding:26px;box-shadow:var(--shadow-2)}.auth-card h1{margin:0 0 4px;font-size:20px;letter-spacing:.02em}.auth-card h1 span{color:var(--accent)}.auth-card .sub{margin:0 0 20px;color:var(--muted);font-size:12px}.field{margin-bottom:14px}.field label{display:block;font-size:12px;color:var(--muted);margin-bottom:6px}.field input{width:100%;padding:10px 12px;border-radius:10px;font:inherit;border:1px solid var(--hair-strong);background:var(--surface-2)}.field input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.auth-card .submit{width:100%;padding:10px;margin-top:6px}.auth-card .switch{margin-top:14px;font-size:12px;color:var(--muted);text-align:center}.auth-card .switch a{color:var(--accent);cursor:pointer;text-decoration:none}.form-error{margin:0 0 12px;padding:8px 10px;border-radius:8px;background:#d32f2f14;color:#b71c1c;font-size:12px}.hint{font-size:11px;color:var(--faint);margin-top:6px}.drag-ghost{position:fixed;z-index:30;pointer-events:none;padding:6px 10px;border-radius:8px;background:var(--ink);color:#fff;font-size:12px;font-family:var(--mono);box-shadow:var(--shadow-2)}.toast{position:fixed;left:50%;bottom:26px;transform:translate(-50%);background:var(--ink);color:#fff;padding:9px 14px;border-radius:10px;font-size:12px;box-shadow:var(--shadow-2);z-index:40}.inspector{width:248px;flex:0 0 248px;background:var(--surface);border-left:1px solid var(--hair);padding:14px;display:flex;flex-direction:column;gap:16px;overflow:auto}.inspector section h3{margin:0 0 8px;font-size:11px;letter-spacing:.08em;color:var(--faint);font-weight:600;text-transform:uppercase}.kv{display:flex;justify-content:space-between;font-size:12px;padding:3px 0}.kv span:first-child{color:var(--muted)}.kv span:last-child{font-family:var(--mono)}.inspector .sel-title{font-size:13px;font-weight:600;margin-bottom:2px}.inspector .sel-sub{font-size:11px;color:var(--muted);margin-bottom:10px;font-family:var(--mono)}.inspector .empty{font-size:12px;color:var(--faint);line-height:1.6}.inspector .note{font-size:11px;color:var(--muted);line-height:1.65}.inspector .note b{color:var(--accent);font-weight:600}.inspector button.small{font-size:12px;padding:4px 10px}.catside{width:156px;flex:0 0 156px;background:var(--surface);border-right:1px solid var(--hair);padding:12px 10px;overflow:auto;display:flex;flex-direction:column;gap:14px}.catside-head h2{margin:0 0 2px;font-size:13px;letter-spacing:.04em}.catside-head p{margin:0;font-size:10px;color:var(--faint);font-family:var(--mono)}.catside-group h3{margin:0 0 6px;font-size:10px;letter-spacing:.1em;color:var(--faint);font-weight:600;text-transform:uppercase}.cat-all{width:100%;display:flex;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;border:1px solid transparent;background:transparent;border-radius:7px}.cat-all:hover{background:#f4f4f4}.cat-all.on{background:var(--ink);color:#fff;border-color:var(--ink)}.cat-all b{font-family:var(--mono);font-size:10px;opacity:.7}.cat-row{width:100%;display:flex;justify-content:space-between;padding:5px 8px;font-size:12px;background:transparent;border:1px solid transparent;border-radius:7px}.cat-row:hover{background:#f6f6f6}.cat-row.on{background:var(--accent-soft);border-color:#d32f2f4d;color:#b71c1c;font-weight:600}.cat-row b{font-family:var(--mono);font-size:10px;opacity:.6}.chips{display:flex;flex-wrap:wrap;gap:4px}.chip{font-size:11px;padding:3px 7px;border-radius:999px;background:#f6f6f6;border:1px solid var(--hair);font-family:var(--mono)}.chip.on{background:var(--ink);border-color:var(--ink);color:#fff}.catside-reset{margin-top:2px;font-size:11px;padding:5px;border-radius:8px}.catside-note{margin:0;font-size:10px;color:var(--faint);line-height:1.5}.lib-search{margin:12px 12px 6px;position:relative;display:flex;align-items:center}.lib-search input{width:100%;padding:9px 32px 9px 30px;border-radius:10px;border:1px solid var(--hair-strong);background:var(--surface-2);font:inherit;font-size:13px}.lib-search input:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}.lib-search-ico{position:absolute;left:10px;color:var(--faint);font-size:15px;line-height:1}.lib-clear{position:absolute;right:6px;width:22px;height:22px;border-radius:50%;padding:0;font-size:15px;line-height:1;border:none;background:transparent;color:var(--faint)}.lib-clear:hover{background:#eee}.lib-count{padding:0 14px 8px;font-size:10px;color:var(--faint);font-family:var(--mono)}.card-grid{flex:1;overflow:auto;padding:0 10px 14px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:max-content;gap:8px;align-content:start}.lib-empty{grid-column:1 / -1;padding:16px 6px;color:var(--faint);font-size:12px}.track-card{background:var(--surface);border:1px solid var(--hair);border-radius:10px;overflow:hidden;cursor:grab;-webkit-user-select:none;user-select:none;transition:box-shadow .12s ease,transform .08s ease,border-color .12s ease}.track-card:hover{border-color:var(--hair-strong);box-shadow:var(--shadow-1);transform:translateY(-1px)}.track-card:active{cursor:grabbing}.track-card.playing{outline:2px solid var(--accent);outline-offset:-1px}.card-cover-wrap{position:relative;height:84px;overflow:hidden}.cover{position:absolute;top:0;right:0;bottom:0;left:0}.cover-mark{position:absolute;left:8px;top:6px;font-size:24px;font-weight:800;letter-spacing:.05em;opacity:.92;text-shadow:0 2px 8px rgba(0,0,0,.25)}.cover-lines{position:absolute;right:7px;bottom:0;height:58%;display:flex;align-items:flex-end;gap:2px}.cover-lines i{width:3px;background:#ffffff8c;border-radius:2px 2px 0 0;display:block}.tag-tl,.tag-br{position:absolute;font-size:9px;padding:2px 5px;border-radius:4px;background:#0000005c;color:#fff;font-family:var(--mono)}.tag-tl{top:5px;left:5px}.tag-br{bottom:5px;left:5px}.heart{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:#00000047;border:none;color:#fff;font-size:13px;padding:0;line-height:1;display:grid;place-items:center}.heart:hover{background:#00000073}.heart.on{color:#ff6b6b}.card-play{position:absolute;right:5px;bottom:5px;width:24px;height:24px;border-radius:50%;background:#fff;border:none;color:var(--ink);font-size:9px;padding:0;display:grid;place-items:center;box-shadow:0 2px 6px #00000047}.card-play:hover{background:#f2f2f2}.card-body{padding:7px 8px 8px}.card-body h3{margin:0;font-size:11.5px;line-height:1.3;font-weight:600;min-height:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.card-meta{font-size:9.5px;color:var(--faint);font-family:var(--mono);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-price{display:flex;align-items:baseline;justify-content:space-between;margin-top:4px}.card-price .p{font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent)}.card-price .u{font-size:9px;color:var(--faint);font-family:var(--mono)}.total-price{font-family:var(--mono);font-size:12px;color:var(--muted)}.total-price b{color:var(--accent);font-size:14px}.kv.total span:last-child{color:var(--accent);font-weight:600}@media (max-width: 1400px){.inspector{display:none}}.block{z-index:1}.block.playing{box-shadow:0 0 0 2px #ffffffd9 inset,0 6px 16px #1a1a1a47}.block-play{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:20px;height:20px;border-radius:50%;border:none;padding:0;display:grid;place-items:center;font-size:8px;line-height:1;background:#ffffffeb;color:#1a1a1a;z-index:2;opacity:0;transition:opacity .12s ease;box-shadow:0 1px 4px #00000040}.block:hover .block-play,.block.playing .block-play,.block.sel .block-play{opacity:1}.block .nm,.block .tail{padding-left:20px}.block-progress{position:absolute;left:0;bottom:0;height:3px;background:#ffffffe6;border-radius:0 2px 2px 0;pointer-events:none}.total-price.pending b{color:var(--faint)}.kv.pending span:last-child{color:var(--faint);font-weight:500}.order-btn{background:var(--ink);color:#fff;border-color:var(--ink)}.order-btn:disabled{background:#efefef;color:var(--faint);border-color:var(--hair)}.store{max-width:1180px;margin:0 auto;padding:0 20px 60px}.store-nav{display:flex;align-items:center;gap:18px;padding:16px 0;border-bottom:1px solid var(--hair);position:sticky;top:0;background:#f4f4f4eb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10}.store-nav .brand b{font-size:16px;letter-spacing:.06em}.store-nav .brand b span{color:var(--accent)}.store-nav .brand em{font-style:normal;font-family:var(--mono);font-size:10px;color:var(--faint);margin-left:6px}.store-links{display:flex;gap:16px}.store-links a{font-size:12px;color:var(--muted);cursor:pointer;text-decoration:none}.store-links a:hover{color:var(--ink)}.store-nav .spacer{flex:1}.store-who{font-family:var(--mono);font-size:11px;color:var(--muted)}.hero{padding:54px 0 40px}.eyebrow{margin:0 0 10px;font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--accent);text-transform:uppercase}.hero h1{margin:0 0 14px;font-size:44px;line-height:1.15;letter-spacing:-.01em;font-weight:800}.hero h1 span{color:var(--accent)}.hero-sub{margin:0 0 22px;max-width:560px;color:var(--muted);font-size:14px;line-height:1.75}.hero-actions{display:flex;align-items:center;gap:14px}button.big{padding:11px 22px;font-size:15px;border-radius:10px}.hero-note{font-size:12px;color:var(--muted);font-family:var(--mono)}.tiers,.featured,.how{padding:34px 0;border-top:1px solid var(--hair)}.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}.sec-head h2{margin:0;font-size:20px;letter-spacing:-.01em}.sec-head p{margin:0;font-size:12px;color:var(--muted)}.tier-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.tier-card{position:relative;display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding:14px 12px;background:var(--surface);border:1px solid var(--hair);border-radius:12px;text-align:left}.tier-card:hover{border-color:var(--hair-strong);box-shadow:var(--shadow-1)}.tier-card.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tier-time{font-family:var(--mono);font-size:22px;font-weight:600}.tier-bars{font-size:10px;color:var(--faint);font-family:var(--mono)}.tier-price{margin-top:2px;font-family:var(--mono);font-size:13px;font-weight:600;color:var(--accent)}.tier-price.pending{color:var(--faint);font-weight:500}.tier-check{position:absolute;top:8px;right:8px;font-size:9px;padding:2px 6px;border-radius:999px;background:var(--accent);color:#fff}.tier-cta{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:12px 14px;background:var(--surface);border:1px solid var(--hair);border-radius:12px}.tier-cta span{font-size:12px;color:var(--muted);font-family:var(--mono)}.featured-tools{display:flex;gap:12px;align-items:center;margin-bottom:14px;flex-wrap:wrap}.store-search{margin:0;width:260px}.featured-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.featured-card{background:var(--surface);border:1px solid var(--hair);border-radius:12px;overflow:hidden}.featured-card .card-cover-wrap{height:96px}.featured-card h3{margin:8px 10px 2px;font-size:13px}.featured-card p{margin:0 10px 10px;font-size:10px;color:var(--faint);font-family:var(--mono)}.store-empty{color:var(--faint);font-size:12px}.how ol{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.how li{display:flex;flex-direction:column;gap:6px;padding:16px;background:var(--surface);border:1px solid var(--hair);border-radius:12px}.how li b{font-size:14px}.how li span{font-size:12px;color:var(--muted);line-height:1.65}.store-footer{display:flex;justify-content:space-between;gap:16px;padding:22px 0 0;margin-top:20px;border-top:1px solid var(--hair);font-size:11px;color:var(--faint);font-family:var(--mono)}@media (max-width: 900px){.tier-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.featured-grid,.how ol{grid-template-columns:1fr 1fr}.hero h1{font-size:32px}}.offline-banner{display:flex;align-items:center;gap:12px;margin:0 18px 8px;padding:9px 12px;border-radius:10px;font-size:12px;background:#d32f2f14;color:#b71c1c;border:1px solid rgba(211,47,47,.25)}.offline-banner button{font-size:12px;padding:3px 10px}.badge.warn{color:#b71c1c;border-color:#d32f2f59;background:#d32f2f14}.tier-card.disabled{opacity:.45;cursor:not-allowed}.tier-na{position:absolute;top:8px;right:8px;font-size:9px;padding:2px 6px;border-radius:999px;background:#eee;color:var(--faint)}.page-title{display:flex;align-items:center;gap:12px;margin:0}.page-title h1{margin:0;font-size:22px}.opill{display:inline-flex;align-items:center;border-radius:999px;padding:2px 10px;font-size:11px;font-weight:600;border:1px solid transparent}.opill.ok{color:#1f7a4d;background:#1f7a4d1a;border-color:#1f7a4d40}.opill.warn{color:#8a5a00;background:#8a5a001a;border-color:#8a5a0040}.opill.info{color:#1f5f9e;background:#1f5f9e1a;border-color:#1f5f9e40}.opill.bad{color:#b3261e;background:#b3261e1a;border-color:#b3261e40}.opill.muted{color:#666;background:#1a1a1a0f;border-color:#1a1a1a24}.ocard{background:var(--surface);border:1px solid var(--hair);border-radius:12px;padding:16px 18px;margin-bottom:14px;box-shadow:var(--shadow-1)}.ocard h3{margin:0 0 10px;font-size:13px}.ocard .kv{display:flex;justify-content:space-between;padding:5px 0;font-size:13px;border-bottom:1px dashed var(--hair)}.ocard .kv:last-child{border-bottom:0}.ocard .kv span:first-child{color:var(--muted)}.onote{border-radius:12px;padding:14px 16px;margin-bottom:14px;border:1px solid var(--hair);background:var(--surface)}.onote b{display:block;margin-bottom:4px;font-size:13px}.onote p{margin:0;font-size:12.5px;color:var(--muted);line-height:1.6}.onote.info{background:#1f5f9e0f;border-color:#1f5f9e40}.onote.ok{background:#1f7a4d0f;border-color:#1f7a4d40}.onote.bad{background:#b3261e0f;border-color:#b3261e40}.orow{display:flex;gap:10px;margin-top:10px;flex-wrap:wrap}.otime{list-style:none;margin:0;padding:0;font-size:12.5px}.otime li{display:flex;gap:12px;padding:6px 0;border-bottom:1px dashed var(--hair)}.otime li:last-child{border-bottom:0}.otime .mono{color:var(--muted);min-width:150px}.otable{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--hair);border-radius:12px;overflow:hidden}.otable th,.otable td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--hair);font-size:12.5px}.otable th{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);background:var(--surface-2)}.otable tr:last-child td{border-bottom:0}.oempty{display:flex;flex-direction:column;align-items:center;gap:6px;padding:48px 16px;color:var(--faint);background:var(--surface);border:1px dashed var(--hair-strong);border-radius:12px}.oempty b{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 14px;border-radius:8px;border:1px solid var(--hair-strong);background:var(--surface);color:var(--ink);font-size:13px;cursor:pointer;text-decoration:none}.btn:hover{background:var(--surface-2);text-decoration:none}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.btn.secondary{background:var(--surface)}.btn.sm{padding:3px 10px;font-size:12px}.toplink{font-size:12px;color:var(--muted);text-decoration:none;margin-right:8px}.toplink:hover{color:var(--ink);text-decoration:underline}
