@font-face{font-family:wenkai;src:url(/_next/static/media/72d54f90c35f523f-s.p.ttf) format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:wenkai;src:url(/_next/static/media/a6fdfb824a8c3dda-s.p.ttf) format("truetype");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:wenkai Fallback;src:local("Arial");ascent-override:86.80%;descent-override:23.95%;line-gap-override:0.00%;size-adjust:106.91%}.__className_be2895{font-family:wenkai,wenkai Fallback,Songti SC,STSong,Source Han Serif SC,Noto Serif CJK SC,serif}.__variable_be2895{--font-wenkai:"wenkai","wenkai Fallback",Songti SC,STSong,Source Han Serif SC,Noto Serif CJK SC,serif}@font-face{font-family:wenkaiMono;src:url(/_next/static/media/33bf3ca80fa30d66-s.ttf) format("truetype");font-display:swap}@font-face{font-family:wenkaiMono Fallback;src:local("Arial");ascent-override:84.69%;descent-override:21.99%;line-gap-override:0.00%;size-adjust:109.58%}.__className_262a74{font-family:wenkaiMono,wenkaiMono Fallback,JetBrains Mono,SF Mono,ui-monospace,monospace}.__variable_262a74{--font-wenkai-mono:"wenkaiMono","wenkaiMono Fallback",JetBrains Mono,SF Mono,ui-monospace,monospace}:root{--paper:#f4f7f4;--surface:#fffefa;--surface-2:#edf2ed;--ink:#17211b;--muted:#667169;--soft:#9aa69b;--line:#d8dfd6;--green:#265f44;--green-2:#d9eadc;--coral:#e65f3d;--lilac:#d9d2ff;--yellow:#fff3a5;--surface-inset:#e4ebe4;--shadow:0 24px 70px rgba(38,95,68,0.11);--font-wenkai:var(--font-wenkai,"Songti SC"),"STSong",serif;--font-wenkai-mono:var(--font-wenkai-mono,"JetBrains Mono"),ui-monospace,monospace}*{box-sizing:border-box}body{margin:0;background:linear-gradient(90deg,rgba(38,95,68,.05) 1px,transparent 1px),linear-gradient(180deg,rgba(38,95,68,.05) 1px,transparent 1px),var(--paper);background-size:42px 42px;color:var(--ink);font-family:var(--font-wenkai);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a,button{font:inherit}.board-line strong,.eyebrow,.mono,.stat-card strong,code,kbd{font-family:var(--font-wenkai-mono)}.eyebrow{font-family:var(--font-wenkai)}.ops-shell{display:grid;grid-template-columns:88px minmax(0,1fr);min-height:100dvh}.sidebar{position:-webkit-sticky;position:sticky;top:0;height:100dvh;display:flex;flex-direction:column;align-items:center;gap:34px;padding:22px 14px;border-right:1px solid var(--line);background:rgba(255,254,250,.76);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-tab{display:none}.brand-mark{display:grid;place-items:center;width:46px;height:46px;border-radius:8px;background:var(--green);color:white;box-shadow:var(--shadow)}.brand-mark span{font-size:22px;font-weight:800}.sidebar nav{display:grid;grid-gap:10px;gap:10px;width:100%}.sidebar a{display:grid;place-items:center;grid-gap:4px;gap:4px;min-height:58px;border-radius:8px;color:var(--muted);text-decoration:none;font-size:11px;letter-spacing:0}.sidebar a.active,.sidebar a:hover{background:var(--green-2);color:var(--green)}.main-stage{width:min(1480px,100%);margin:0 auto;padding:28px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.eyebrow{margin:0 0 7px;color:var(--green);font-size:12px;font-weight:500;letter-spacing:.04em;text-transform:uppercase}h1,h2,h3,p{margin-top:0;font-weight:500}.topbar h1{margin:0;font-size:30px;line-height:1.2;letter-spacing:0;font-weight:500}.top-actions{display:flex;align-items:center;gap:10px}.ghost-button,.primary-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border-radius:8px;padding:0 15px;cursor:pointer;transition:transform .14s ease,background .14s ease,border-color .14s ease;white-space:nowrap}.primary-button{border:1px solid var(--green);background:var(--green);color:#fff;font-weight:700}.ghost-button{border:1px solid var(--line);background:rgba(255,254,250,.8);color:var(--ink);font-weight:700}.ghost-button:active,.primary-button:active{transform:translateY(1px) scale(.99)}.hero-panel{display:grid;grid-template-columns:minmax(0,1fr) 320px;grid-gap:18px;gap:18px;min-height:310px;padding:24px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(115deg,rgba(255,243,165,.72),transparent 48%),linear-gradient(145deg,rgba(217,210,255,.8),transparent 34%),var(--surface);box-shadow:var(--shadow)}.hero-copy{display:flex;flex-direction:column;justify-content:space-between;min-width:0}.kicker{width:-moz-fit-content;width:fit-content;margin-bottom:18px;border:1px solid rgba(38,95,68,.24);border-radius:999px;padding:7px 11px;background:rgba(255,254,250,.7);color:var(--green);font-size:13px;font-weight:800}.hero-copy h2{max-width:760px;margin-bottom:16px;font-size:44px;line-height:1.08;letter-spacing:0}.hero-copy p:not(.kicker){max-width:760px;color:#4f5c53;font-size:16px;line-height:1.75}.lens-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.lens-row span,.tag-row span{border-radius:999px;border:1px solid rgba(38,95,68,.18);background:rgba(255,254,250,.72);color:var(--green);padding:6px 10px;font-size:12px;font-weight:700}.hero-board{display:grid;align-content:end;grid-gap:10px;gap:10px}.board-line{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:70px;padding:16px;border:1px solid rgba(23,33,27,.1);border-radius:8px;background:rgba(255,254,250,.76)}.board-line span{color:var(--muted);font-size:13px}.board-line strong{font-size:32px;line-height:1}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;margin:18px 0}.stat-card{grid-template-columns:44px minmax(0,1fr);grid-gap:13px;gap:13px;min-height:126px;padding:18px;border:1px solid var(--line);background:rgba(255,254,250,.88)}.stat-card,.stat-icon{display:grid;border-radius:8px}.stat-icon{place-items:center;width:42px;height:42px;background:var(--surface-2);color:var(--green)}.stat-card p{margin-bottom:6px;color:var(--muted);font-size:13px}.stat-card strong{display:block;margin-bottom:8px;font-size:28px;line-height:1}.stat-card span{color:var(--soft);font-size:12px}.workspace-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:18px;gap:18px;align-items:start}.empty-state,.insight-panel,.notes-section{border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.notes-section{padding:18px}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0;font-size:22px;letter-spacing:0}.section-heading>span{color:var(--muted);font-size:13px;font-weight:700}.section-heading.compact{align-items:start}.note-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.note-card{display:grid;grid-template-columns:144px minmax(0,1fr);min-height:236px;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.note-image{position:relative;min-height:236px;background:var(--surface-2)}.note-image img{width:100%;height:100%;object-fit:cover;display:block}.note-image span{position:absolute;left:10px;bottom:10px;border-radius:999px;padding:5px 8px;background:rgba(23,33,27,.74);color:white;font-size:11px;font-weight:700}.image-empty{display:grid;place-items:center;height:100%;color:var(--soft)}.note-body{display:flex;flex-direction:column;min-width:0;padding:16px}.note-meta{justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--green);font-size:11px;font-weight:800}.note-card h2{margin-bottom:10px;font-size:17px;line-height:1.35;letter-spacing:0}.note-card p{color:var(--muted);font-size:13px;line-height:1.68;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.tag-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:14px}.tag-row span{padding:4px 8px;font-size:11px}.source-link{display:inline-flex;align-items:center;gap:4px;width:-moz-fit-content;width:fit-content;margin-top:12px;color:var(--green);font-size:13px;font-weight:800;text-decoration:none}.insight-panel{position:-webkit-sticky;position:sticky;top:28px;padding:18px}.workflow-list{display:grid;grid-gap:10px;gap:10px}.workflow-list article{display:grid;grid-template-columns:38px minmax(0,1fr);grid-gap:11px;gap:11px;padding:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.workflow-list article>div{grid-row:span 2;display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:var(--green-2);color:var(--green)}.workflow-list h3{margin-bottom:4px;font-size:15px}.workflow-list p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.draft-box{margin-top:14px;padding:18px;border-radius:8px;background:var(--green);color:white}.draft-box p{margin-bottom:8px;color:var(--yellow);font-size:12px;font-weight:800;text-transform:uppercase}.draft-box h3{margin-bottom:10px;font-size:20px}.draft-box span{display:block;color:rgba(255,255,255,.78);font-size:13px;line-height:1.65}.draft-box .primary-button{width:100%;margin-top:18px;border-color:var(--yellow);background:var(--yellow);color:var(--green)}.empty-state{display:grid;place-items:center;min-height:320px;padding:40px;text-align:center}.empty-state h2{margin:14px 0 8px}.empty-state p{color:var(--muted)}@media (max-width:1200px){.hero-panel,.workspace-grid{grid-template-columns:1fr}.insight-panel{position:static}}@media (max-width:900px){.ops-shell{grid-template-columns:1fr;overflow-x:hidden}.sidebar{display:none}.bottom-tab{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;padding-bottom:env(safe-area-inset-bottom,0);border-top:1px solid var(--line);background:rgba(255,254,250,.92);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.bottom-tab a{display:grid;place-items:center;grid-gap:4px;gap:4px;min-height:56px;padding:8px 4px;color:var(--muted);font-size:11px;font-weight:700;text-decoration:none}.bottom-tab a.active{color:var(--green);background:var(--green-2)}.main-stage{padding-bottom:calc(72px + env(safe-area-inset-bottom, 0))}.note-list,.stats-grid{grid-template-columns:1fr}.topbar{align-items:flex-start;flex-direction:column}.hero-copy h2{font-size:34px}}@media (max-width:620px){.main-stage{padding:16px}.hero-panel{padding:18px}.top-actions{width:100%}.top-actions button{flex:1 1;min-width:0;padding-inline:10px}.note-card{grid-template-columns:1fr}.note-image{min-height:220px}}.placeholder{max-width:720px;padding:8px 4px}.placeholder .eyebrow,.placeholder-head{margin-bottom:14px}.placeholder-head{display:flex;align-items:center;gap:14px;color:var(--green)}.placeholder-head h1{margin:0;font-size:34px;line-height:1.1;letter-spacing:0;color:var(--ink)}.placeholder-lead{max-width:60ch;margin-bottom:24px;color:var(--muted);font-size:15px;line-height:1.7}.placeholder-checklist{display:grid;grid-gap:8px;gap:8px;margin-bottom:24px;padding:18px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.placeholder-checklist article{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:baseline;padding:6px 0;border-bottom:1px solid rgba(216,223,214,.6);font-size:14px;line-height:1.6}.placeholder-checklist article:last-child{border-bottom:none}.placeholder-checklist .check{font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:13px;font-weight:700;text-align:center}.placeholder-checklist .is-done{color:var(--ink)}.placeholder-checklist .is-done .check{color:var(--green)}.placeholder-checklist .is-pending,.placeholder-checklist .is-pending .check{color:var(--soft)}.placeholder-checklist .command{grid-template-columns:minmax(0,1fr);gap:4px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.placeholder-checklist .command code{font-family:JetBrains Mono,SF Mono,ui-monospace,monospace;font-size:13px;color:var(--green)}.placeholder-checklist .command span{font-size:12px;color:var(--muted)}.placeholder-foot{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.placeholder-foot .ghost-button{text-decoration:none}.sync-hint{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:12px;color:var(--muted)}@media (max-width:620px){.placeholder-head h1{font-size:26px}.placeholder-checklist{padding:14px}}.kanban-page{width:100%}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px}.page-head h1{margin:0;font-size:30px;line-height:1.2}.page-lead{max-width:60ch;margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.6}.page-actions{display:flex;align-items:center;gap:8px}.page-actions a{text-decoration:none}.kanban-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:24px}.summary-cell{display:flex;flex-direction:column;gap:4px;padding:14px 18px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.summary-cell span{font-size:12px;color:var(--muted)}.summary-cell strong{font-family:var(--font-wenkai-mono);font-size:22px;font-weight:500;color:var(--ink)}.kanban{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px}.kanban-col{min-height:320px;padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.7)}.kanban-col header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.col-tag{font-size:12px;font-weight:500;letter-spacing:.04em;color:var(--green)}.col-count{font-family:var(--font-wenkai-mono);font-size:12px;color:var(--muted)}.kanban-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.kanban-empty{padding:12px;text-align:center;color:var(--soft);font-size:12px;border:1px dashed var(--line);border-radius:6px}.kanban-card{display:flex;flex-direction:column;gap:6px;padding:12px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:6px;background:var(--surface);transition:border-color .2s ease,transform .14s ease}.kanban-card:hover{border-color:var(--line-strong)}.kanban-card:active{transform:translateY(1px)}.kanban-card header{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;border:none}.chip{font-size:10px;font-weight:500;padding:2px 8px;border-radius:999px;letter-spacing:.04em}.chip-source{background:var(--green-2);color:var(--green)}.chip-source-soft{background:rgba(216,223,214,.5);color:var(--muted)}.gen-count{font-family:var(--font-wenkai-mono);font-size:10px;color:var(--muted)}.kanban-card h3{font-size:14px;line-height:1.4;font-weight:500}.kanban-card h3,.kanban-card p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.kanban-card p{font-size:12px;color:var(--muted);line-height:1.5}.kanban-card footer{display:flex;align-items:center;justify-content:space-between;margin-top:4px;padding:0;border:none}.note-ref,.time-meta{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:var(--green);font-weight:500;max-width:80%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.time-meta{color:var(--soft);font-weight:400}@media (max-width:1100px){.kanban{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.kanban-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.kanban{grid-template-columns:1fr}}.topic-detail{max-width:920px;width:100%}.back-link{display:inline-flex;align-items:center;gap:6px;margin-bottom:16px;font-size:12px;color:var(--muted);text-decoration:none}.back-link:hover{color:var(--green)}.topic-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:24px;padding-bottom:18px;border-bottom:1px solid var(--line)}.topic-head h1{margin:4px 0 6px;font-size:28px;line-height:1.2;font-weight:500}.topic-brief{margin:0;max-width:60ch;color:var(--muted);font-size:14px;line-height:1.6}.topic-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.status-switcher{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.status-switcher select{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:var(--surface);font:inherit;font-size:13px;color:var(--ink)}.run-skill{text-decoration:none}.skill-picker summary{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font-size:12px;color:var(--muted);cursor:pointer;list-style:none}.skill-picker summary::-webkit-details-marker{display:none}.skill-picker[open] summary{color:var(--ink);background:var(--green-2)}.skill-picker ul{position:absolute;z-index:10;margin-top:4px;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:320px}.skill-picker ul li a{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--ink)}.skill-picker ul li a:hover{background:var(--green-2)}.skill-picker ul li a strong{font-size:13px;font-weight:500}.skill-picker ul li a span{font-size:11px;color:var(--muted)}.gen-count-line{display:inline-flex;align-items:center;gap:4px;margin:0;font-size:12px;color:var(--muted)}.source-callout{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;margin-bottom:18px;border:1px solid var(--line);border-radius:8px;background:rgba(217,234,220,.4)}.source-callout .eyebrow{margin:0 0 4px}.source-callout h2{margin:0;font-size:16px;font-weight:500;line-height:1.4}.source-callout a{text-decoration:none}.asset-section{margin-bottom:24px;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.asset-section header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:6px}.asset-section header h2{margin:0;font-size:18px;font-weight:500}.asset-section header span{font-family:var(--font-wenkai-mono);font-size:12px;color:var(--muted)}.asset-hint{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.5}.asset-uploader{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:12px}.asset-uploader label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted)}.asset-uploader select{border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:var(--surface);font:inherit;font-size:13px}.upload-button{border:1px solid var(--line);background:var(--surface);color:var(--ink)}.upload-button:hover{border-color:var(--green);color:var(--green)}.upload-button input{display:none}.asset-error{margin:0 0 8px;color:#b22a2a}.asset-empty{margin:0;padding:16px;text-align:center;color:var(--soft);font-size:12px;border:1px dashed var(--line);border-radius:6px}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:10px;gap:10px;margin:0;padding:0;list-style:none}.asset-item{position:relative;border:1px solid var(--line);border-radius:6px;overflow:hidden;background:var(--surface)}.asset-item a img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:var(--surface-2)}.asset-meta{align-items:center;justify-content:space-between;padding:6px 8px;font-size:11px;color:var(--muted);background:rgba(255,254,250,.86)}.asset-kind{font-weight:500;color:var(--green)}.asset-del{border:none;background:transparent;color:var(--muted);cursor:pointer;padding:2px}.asset-del:hover{color:#b22a2a}.generations-section{margin-bottom:24px}.generations-section header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.generations-section header h2{margin:0;font-size:18px;font-weight:500}.generations-section header span{font-family:var(--font-wenkai-mono);font-size:12px;color:var(--muted)}.generations-empty{margin:0;padding:18px;text-align:center;color:var(--soft);font-size:13px;border:1px dashed var(--line);border-radius:8px;background:rgba(255,254,250,.6)}.generations-list{display:grid;grid-gap:12px;gap:12px}.gen-card{padding:14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.gen-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-size:12px;color:var(--muted)}.gen-tpl{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:var(--green-2);color:var(--green);font-weight:500}.gen-card img{display:block;max-width:360px;width:100%;border-radius:6px;margin-bottom:10px}.gen-image-placeholder{display:grid;place-items:center;grid-gap:10px;gap:10px;padding:28px 14px;border:1px dashed var(--line);border-radius:6px;background:rgba(255,254,250,.5);color:var(--muted);margin-bottom:10px;text-align:center}.gen-image-placeholder p{margin:0;font-size:13px}.placeholder-hint{font-size:11px;color:var(--soft)}.gen-card details{margin-bottom:8px;font-size:12px;color:var(--muted)}.gen-card details summary{cursor:pointer;list-style:none}.gen-card details summary::-webkit-details-marker{display:none}.gen-card pre{margin:8px 0 0;padding:10px;background:var(--surface-inset);border:1px solid var(--line);border-radius:6px;font-family:var(--font-wenkai-mono);font-size:11px;line-height:1.5;color:var(--ink);white-space:pre-wrap;max-height:240px;overflow:auto}.gen-actions{display:flex;gap:8px;flex-wrap:wrap}.gen-actions a{text-decoration:none}.gen-error{margin:0 0 10px;padding:8px 12px;border:1px solid #b22a2a;border-radius:6px;background:rgba(178,42,42,.06);font-size:12px;color:#b22a2a}.wizard-page{max-width:720px;width:100%}.wizard-head{display:flex;align-items:center;gap:12px;margin-bottom:18px;color:var(--green)}.wizard-head h1{margin:0;font-size:18px;font-weight:500;color:var(--ink);line-height:1.4}.wizard-frame{display:flex;flex-direction:column;gap:16px;padding:24px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.wizard-progress{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted)}.step-count{font-family:var(--font-wenkai-mono);font-weight:500;letter-spacing:.04em;color:var(--ink)}.step-meta{max-width:60%;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.wizard-step h2{margin:0 0 6px;font-size:20px;font-weight:500;line-height:1.4}.step-optional{margin:0 0 10px;font-size:12px;color:var(--soft)}.step-text-input input,.step-text-input textarea{width:100%;border:1px solid var(--line);border-radius:6px;padding:10px 12px;background:var(--surface);font:inherit;font-size:15px;color:var(--ink);line-height:1.6;resize:vertical}.step-text-input input:focus,.step-text-input textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.step-options{margin:0;padding:0;list-style:none;display:grid;grid-gap:8px;gap:8px}.step-options .opt{display:grid;grid-template-columns:22px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:start;width:100%;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:var(--surface);text-align:left;font:inherit;color:var(--ink);cursor:pointer;transition:border-color .2s ease,background .2s ease}.step-options .opt:hover{border-color:var(--line-strong)}.step-options .opt.selected{border-color:var(--green);background:var(--green-2)}.opt-check{font-family:var(--font-wenkai-mono);font-size:18px;line-height:1;color:var(--muted)}.opt.selected .opt-check{color:var(--green)}.opt-body{display:flex;flex-direction:column;gap:2px}.opt-body strong{font-size:14px;font-weight:500}.opt-body em{font-style:normal;font-size:12px;color:var(--muted)}.asset-picker{margin-top:12px;padding:12px;border:1px solid var(--line);border-radius:6px;background:rgba(255,254,250,.6)}.asset-picker p{margin:0 0 8px;font-size:12px;color:var(--muted)}.upload-zone{margin-top:12px;padding:14px;border:1px dashed var(--line);border-radius:8px;background:rgba(255,254,250,.6);display:flex;flex-direction:column;gap:10px;align-items:flex-start}.upload-hint{margin:0;font-size:12px;color:var(--muted);line-height:1.55}.upload-role-picker{display:flex;flex-direction:column;gap:6px;width:100%}.upload-role-label{font-size:11px;color:var(--muted);letter-spacing:.04em}.upload-role-chips{display:flex;flex-wrap:wrap;gap:6px}.upload-role-chip{font:inherit;padding:5px 10px;font-size:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;cursor:pointer;letter-spacing:.02em;transition:background .12s ease,border-color .12s ease,color .12s ease}.upload-role-chip:hover:not(:disabled){border-color:var(--green-2);background:var(--green-2);color:var(--green)}.upload-role-chip.on{background:var(--green);border-color:var(--green);color:#fff8e7}.upload-role-chip.suggested:not(.on){border-color:var(--green-2);color:var(--green)}.upload-role-chip:disabled{opacity:.5;cursor:not-allowed}.upload-role-hint{font-size:10px;opacity:.7;margin-left:2px}.upload-success{margin:0;font-size:12px;color:var(--green);display:inline-flex;align-items:center;gap:4px}.upload-success-card{display:flex;gap:14px;align-items:center;width:100%;padding:12px;border:1px solid var(--green-2);border-radius:8px;background:rgba(217,234,220,.18)}.upload-thumb{position:relative;margin:0;width:96px;height:96px;flex-shrink:0;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--surface-2)}.upload-thumb img{display:block;width:100%;height:100%;object-fit:cover}.upload-check{position:absolute;top:4px;right:4px;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--green);color:#fff;box-shadow:0 1px 4px rgba(38,95,68,.35)}.upload-success-meta{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:4px}.upload-success-title{margin:0;font-size:13px;font-weight:500;color:var(--green);letter-spacing:.02em}.upload-success-name{margin:0;font-size:12px;color:var(--ink);font-family:var(--font-wenkai-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-success-hint{margin:0;font-size:11px;color:var(--muted);line-height:1.5}.upload-success-actions{display:flex;flex-direction:column;gap:6px;flex-shrink:0}.upload-success-actions .ghost-button{font-size:11px;padding:4px 10px;white-space:nowrap}.upload-replace,.upload-retry{position:relative;cursor:pointer;margin:0}.upload-replace input[type=file],.upload-retry input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.upload-error-block{display:flex;flex-direction:column;align-items:flex-start;gap:6px;width:100%;padding:10px 12px;border:1px solid rgba(230,95,61,.4);border-radius:6px;background:rgba(230,95,61,.06)}.upload-error-block .upload-error{margin:0}.upload-error{margin:0;font-size:12px;color:var(--coral)}.upload-button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--green);border-radius:6px;background:var(--green-2);color:var(--green);font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,transform .12s ease}.upload-button:hover{background:var(--green);color:#fff}.upload-button.busy{opacity:.6;cursor:progress}.upload-button input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.asset-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.asset-radio{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);cursor:pointer;font-size:11px;color:var(--muted)}.asset-radio input{display:none}.asset-radio:has(input:checked){border-color:var(--green);background:var(--green-2);color:var(--green)}.asset-radio img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:4px}.asset-empty-hint{margin:0;font-size:12px;color:var(--muted);font-style:italic}.wizard-error{margin:0;padding:8px 12px;border:1px solid #b22a2a;border-radius:6px;background:rgba(178,42,42,.06);font-size:12px;color:#b22a2a}.wizard-nav{display:flex;align-items:center;justify-content:space-between;gap:8px}.wizard-nav .ghost-button,.wizard-nav .primary-button{display:inline-flex;align-items:center;gap:4px;padding:8px 16px;min-height:38px;text-decoration:none}.wizard-nav .primary-button.run{background:var(--green);border-color:var(--green);color:#fff}.wizard-nav .ghost-button:disabled,.wizard-nav .primary-button:disabled{opacity:.4;cursor:not-allowed}.dot-row{display:inline-flex;align-items:center;gap:4px}.dot{width:6px;height:6px;border-radius:999px;background:var(--line)}.dot.active{background:var(--green);width:16px}.dot.filled{background:var(--green-2)}@media (max-width:620px){.wizard-frame{padding:18px}.wizard-step h2{font-size:18px}.wizard-nav{flex-wrap:wrap}}.generation-result{max-width:920px;width:100%}.result-head{margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.result-head h1{margin:4px 0 6px;font-size:26px;line-height:1.2;font-weight:500}.result-meta{margin:0;font-size:12px;color:var(--muted)}.result-body{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);grid-gap:18px;gap:18px;align-items:start}.result-image-section,.result-prompt{display:flex;flex-direction:column;gap:10px;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.result-image-section header,.result-prompt header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.result-image-section header h2,.result-prompt header h2{margin:0;font-size:16px;font-weight:500}.result-actions{display:flex;gap:8px;flex-wrap:wrap}.result-actions a{text-decoration:none}.result-text{margin:0;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface-inset);font-family:var(--font-wenkai-mono);font-size:12px;white-space:pre-wrap;max-height:480px;overflow:auto}.result-text,.result-textarea{line-height:1.6;color:var(--ink)}.result-textarea{display:block;width:100%;resize:vertical;min-height:280px;font:inherit;font-family:var(--font-wenkai-mono);font-size:12px}.result-textarea:focus{outline:none;border-color:var(--green);background:var(--surface)}.prompt-edited-badge{display:inline-block;margin-left:8px;padding:2px 8px;font-size:10px;font-weight:400;border-radius:999px;letter-spacing:.04em;vertical-align:middle}.prompt-edited-badge,.result-prompt-hint{color:var(--green);background:var(--green-2)}.result-prompt-hint{margin:8px 0 0;padding:6px 10px;font-size:11px;border-radius:4px;font-family:var(--font-wenkai-mono)}.result-prompt-hint code{padding:1px 4px;background:var(--surface);border-radius:2px;font-size:11px}.result-regen-bar{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:12px 14px;margin-top:12px;background:var(--surface-2);border:1px dashed var(--line);border-radius:6px}.result-regen-bar label{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--muted)}.result-regen-bar select{font:inherit;padding:6px 10px;font-size:12px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--ink)}.result-regen-bar .primary-button{margin-left:auto}.result-model-tag{font-size:11px;color:var(--muted);font-family:var(--font-wenkai-mono);letter-spacing:.04em}.result-image-link img{display:block;width:100%;border-radius:6px}.result-image-empty{display:grid;place-items:center;grid-gap:12px;gap:12px;padding:32px 16px;border:1px dashed var(--line);border-radius:6px;background:rgba(255,254,250,.5);color:var(--muted);text-align:center}.result-image-empty p{margin:0;font-size:13px}.result-hint{font-size:11px;color:var(--soft);max-width:30ch}.result-style-pick{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center}.result-style-pick label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.result-style-pick select{border:1px solid var(--line);border-radius:6px;padding:4px 8px;background:var(--surface);font:inherit;font-size:12px}.result-error{margin:0;padding:6px 10px;border:1px solid #b22a2a;border-radius:6px;background:rgba(178,42,42,.06);font-size:11px;color:#b22a2a}.result-image-actions{display:flex;gap:8px;flex-wrap:wrap}.result-image-actions a{text-decoration:none}.ghost-button.saved,.result-image-actions .ghost-button.saved{border-color:var(--green);color:var(--green);background:var(--green-2);cursor:default}.ghost-button.saved:hover,.result-image-actions .ghost-button.saved:hover{background:var(--green-2);color:var(--green)}.model-meta{margin:0;font-family:var(--font-wenkai-mono);font-size:11px;color:var(--soft)}@media (max-width:800px){.result-body{grid-template-columns:1fr}}.benchmark-page,.note-detail{width:100%}.benchmark-filters{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.filter-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px}.filter-chips .chip{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;color:var(--muted);text-decoration:none;transition:border-color .2s ease,color .2s ease,background .2s ease}.filter-chips .chip:hover{border-color:var(--green);color:var(--green)}.filter-chips .chip.active{background:var(--green);border-color:var(--green);color:#fff}.benchmark-empty{margin:0;padding:24px;text-align:center;color:var(--muted);font-size:14px;border:1px dashed var(--line);border-radius:8px}.benchmark-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.benchmark-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86);overflow:hidden;transition:border-color .2s ease,transform .14s ease}.benchmark-card:hover{border-color:var(--line-strong)}.benchmark-card:active{transform:translateY(1px)}.card-cover{position:relative;aspect-ratio:3/4;background:var(--surface-2);overflow:hidden}.card-cover img{display:block;width:100%;height:100%;object-fit:cover}.cover-empty{display:grid;place-items:center;width:100%;height:100%;color:var(--soft);font-size:12px}.card-img-count{position:absolute;left:8px;bottom:8px;padding:2px 8px;border-radius:999px;background:rgba(23,33,27,.74);color:#fff;font-size:11px;font-weight:500}.card-body{display:flex;flex-direction:column;gap:6px;padding:12px}.card-tags{display:flex;flex-wrap:wrap;gap:4px}.card-tags span{font-size:10px;font-weight:500;padding:2px 8px;border-radius:999px;background:var(--green-2);color:var(--green)}.benchmark-card h3{font-size:14px;line-height:1.4;font-weight:500;-webkit-line-clamp:2}.benchmark-card h3,.benchmark-card p{margin:0;display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.benchmark-card p{font-size:12px;color:var(--muted);line-height:1.5;-webkit-line-clamp:3}.card-cta{margin-top:4px}.note-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:16px}.note-head h1{margin:4px 0 6px;font-size:28px;line-height:1.2;font-weight:500}.note-attachment{margin:0;font-style:italic}.note-attachment,.note-meta{font-size:12px;color:var(--muted)}.note-meta{display:flex;align-items:center;gap:18px;margin-bottom:18px}.note-meta a,.note-meta span{display:inline-flex;align-items:center;gap:4px}.note-meta a{color:var(--green);text-decoration:none}.note-cover{margin:0 0 20px;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--surface-2)}.note-cover img{display:block;width:100%;max-height:520px;object-fit:contain}.note-section{margin-bottom:22px;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.note-section h2{margin:0 0 8px;font-size:15px;font-weight:500;color:var(--green);letter-spacing:.04em}.note-section p{font-size:14px;line-height:1.7}.note-section p,.note-section pre{margin:0;color:var(--ink);white-space:pre-wrap}.note-section pre{padding:12px;background:var(--surface-inset);border:1px solid var(--line);border-radius:6px;font-family:var(--font-wenkai-mono);font-size:12px;line-height:1.6;max-height:320px;overflow:auto}.note-image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.image-link{display:block;width:100%;padding:0;margin:0;border:1px solid var(--line);border-radius:6px;overflow:hidden;aspect-ratio:3/4;background:var(--surface-2);cursor:zoom-in;transition:border-color .12s ease,transform .16s ease}.image-link:hover{border-color:var(--green);transform:translateY(-1px)}.image-link:focus-visible{outline:2px solid var(--green);outline-offset:2px}.image-link img{display:block;width:100%;height:100%;object-fit:cover}.md-prose{font-size:14px;line-height:1.75;color:var(--ink)}.md-prose>*+*{margin-top:10px}.md-prose h1,.md-prose h2,.md-prose h3,.md-prose h4,.md-prose h5,.md-prose h6{margin:18px 0 8px;font-weight:500;color:var(--green);letter-spacing:.02em;line-height:1.35}.md-prose h1{font-size:20px}.md-prose h2{font-size:17px}.md-prose h3{font-size:15px}.md-prose h4,.md-prose h5,.md-prose h6{font-size:14px}.md-prose p{margin:0;white-space:pre-wrap}.md-prose strong{font-weight:500;color:var(--ink);background:linear-gradient(180deg,transparent 60%,var(--yellow) 60%);padding:0 1px}.md-prose em{font-style:italic;color:var(--green)}.md-prose code{padding:1px 6px;border-radius:4px;color:var(--coral)}.md-prose code,.md-prose pre{font-family:var(--font-wenkai-mono);font-size:12px;background:var(--surface-inset);border:1px solid var(--line)}.md-prose pre{margin:0;padding:12px;border-radius:6px;line-height:1.6;color:var(--ink);white-space:pre-wrap;overflow:auto}.md-prose pre code{padding:0;border:none;background:transparent;color:inherit}.md-prose ol,.md-prose ul{margin:0;padding-left:22px}.md-prose li{margin:4px 0}.md-prose blockquote{margin:0;padding:6px 12px;border-left:3px solid var(--green-2);color:var(--muted);background:rgba(217,234,220,.35);border-radius:0 4px 4px 0}.md-prose hr{border:none;border-top:1px solid var(--line);margin:16px 0}.md-prose a{color:var(--green);text-decoration:underline;text-underline-offset:2px}.md-prose a:hover{color:var(--coral)}.lightbox-mask{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(23,33,27,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:lightbox-fade-in .14s ease-out;cursor:zoom-out}@keyframes lightbox-fade-in{0%{opacity:0}to{opacity:1}}.lightbox-image{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0 24px 70px rgba(0,0,0,.35);cursor:default}.lightbox-close{position:fixed;top:16px;right:16px;z-index:1001;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,254,250,.12);color:var(--surface);cursor:pointer;transition:background .12s ease,transform .12s ease}.lightbox-close:hover{background:rgba(255,254,250,.22);transform:scale(1.05)}.lightbox-close:focus-visible{outline:2px solid var(--surface);outline-offset:2px}@media (max-width:600px){.lightbox-mask{padding:12px}.lightbox-close{top:12px;right:12px}}.lightbox-stage{display:flex;align-items:center;justify-content:center;max-width:100%;max-height:100%;gap:20px}.lightbox-stage.with-meta{width:min(96vw,1280px);max-height:92vh;align-items:stretch}.lightbox-stage.with-meta .lightbox-image{flex:1 1 auto;max-width:100%;max-height:92vh}.lightbox-meta{flex:0 0 320px;display:flex;flex-direction:column;gap:10px;padding:16px;background:rgba(255,254,250,.95);color:var(--ink);border-radius:8px;box-shadow:0 18px 50px -20px rgba(0,0,0,.4);max-height:92vh;overflow:hidden}.lightbox-meta-title{margin:0;font-size:13px;font-weight:500;color:var(--green);letter-spacing:.04em}.lightbox-meta-label{margin:0;font-size:11px;color:var(--muted);letter-spacing:.04em;text-transform:uppercase}.lightbox-prompt{margin:0;padding:10px 12px;font-family:var(--font-wenkai-mono);font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word;background:var(--surface-2);border-radius:6px;color:var(--ink);overflow-y:auto;flex:1 1 auto;min-height:0;max-height:100%}.lightbox-download{position:fixed;top:16px;right:64px;z-index:1001;width:36px;height:36px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,254,250,.12);color:var(--surface);cursor:pointer;transition:background .12s ease}.lightbox-download,.lightbox-download a{display:inline-flex;align-items:center;justify-content:center}.lightbox-download a{width:100%;height:100%;color:inherit;text-decoration:none}.lightbox-download:hover{background:rgba(255,254,250,.22)}.lightbox-source{position:fixed;top:16px;left:16px;z-index:1001;display:inline-flex;align-items:center;gap:4px;padding:8px 12px;border:1px solid rgba(255,255,255,.25);border-radius:999px;background:rgba(255,254,250,.12);color:var(--surface);font-size:12px;text-decoration:none;letter-spacing:.02em}.lightbox-source:hover{background:rgba(255,254,250,.22)}@media (max-width:900px){.lightbox-stage.with-meta{flex-direction:column}.lightbox-meta{flex:0 0 auto;width:100%;max-height:40vh}.lightbox-source{top:12px;left:12px}.lightbox-download{top:12px;right:60px}}.clickable-image{display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in;position:relative;overflow:hidden}.clickable-image-img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .22s ease}.clickable-image:hover .clickable-image-img{transform:scale(1.02)}.clickable-image-caption{position:absolute;left:6px;bottom:6px;padding:2px 6px;font-size:10px;background:rgba(0,0,0,.5);color:#fff8e7;border-radius:999px;max-width:calc(100% - 12px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.note-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.note-tags li a{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface);font-size:12px;color:var(--muted);text-decoration:none}.note-tags li a:hover{border-color:var(--green);color:var(--green)}.drawer-mask{position:fixed;inset:0;z-index:50;background:rgba(23,33,27,.36);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;justify-content:flex-end}.drawer{width:min(440px,100%);height:100dvh;display:flex;flex-direction:column;gap:14px;background:var(--paper);border-left:1px solid var(--line);overflow-y:auto;padding:20px 20px calc(20px + env(safe-area-inset-bottom, 0))}.drawer header{display:flex;align-items:center;justify-content:space-between;margin:0;padding-bottom:12px;border-bottom:1px solid var(--line)}.drawer h2{margin:0;font-size:16px;font-weight:500}.drawer-close{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}.drawer-close:hover{color:var(--ink);border-color:var(--line-strong)}.drawer-hint{margin:0;line-height:1.6}.drawer label,.drawer-hint{font-size:12px;color:var(--muted)}.drawer label{display:flex;flex-direction:column;gap:4px}.drawer input,.drawer textarea{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--surface);font:inherit;font-size:14px;color:var(--ink);line-height:1.5;resize:vertical}.drawer input:focus,.drawer textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.drawer textarea{min-height:120px}.drawer-error{margin:0;padding:8px 10px;border:1px solid #b22a2a;border-radius:6px;background:rgba(178,42,42,.06);font-size:12px;color:#b22a2a}.drawer footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line)}.drawer footer button{display:inline-flex;align-items:center;gap:4px;text-decoration:none}@media (max-width:540px){.drawer{width:100%}}.skill-detail,.skill-edit-page,.skills-page{width:100%}.skill-edit-page .page-head h1,.skills-page .page-head h1{margin:0;font-size:30px;line-height:1.2}.skill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin:0 0 28px;padding:0;list-style:none}.skill-card{display:flex;flex-direction:column;gap:8px;padding:18px;text-decoration:none;color:var(--ink);border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86);transition:border-color .2s ease,transform .14s ease}.skill-card:hover{border-color:var(--line-strong)}.skill-card header{display:flex;align-items:center;justify-content:space-between;margin:0;padding:0;border:none}.card-tag{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:2px 10px;border-radius:999px;background:var(--green-2);color:var(--green)}.card-version{font-family:var(--font-wenkai-mono);font-size:12px;color:var(--muted)}.skill-card h2{margin:0;font-size:18px;font-weight:500;line-height:1.3}.skill-card p{margin:0;font-size:13px;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.skill-card footer{display:flex;align-items:center;justify-content:space-between;margin:4px 0 0;padding:0;border:none}.card-meta{font-size:11px;color:var(--muted)}.card-cta{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--green);font-weight:500}.skills-empty{margin:0;padding:24px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px}.deprecated-section{margin-top:24px;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.5)}.deprecated-section h2{margin:0 0 8px;font-size:14px;font-weight:500;color:var(--muted)}.deprecated-section ul{margin:0;padding:0;list-style:none}.deprecated-section li{display:flex;align-items:center;justify-content:space-between;padding:6px 0;font-size:13px;border-bottom:1px dashed rgba(216,223,214,.5)}.deprecated-section li:last-child{border-bottom:none}.deprecated-section .meta{font-family:var(--font-wenkai-mono);font-size:11px;color:var(--soft)}.skill-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:18px;padding-bottom:18px;border-bottom:1px solid var(--line)}.skill-head h1{margin:4px 0 6px;font-size:28px;line-height:1.2;font-weight:500}.skill-desc{margin:0;max-width:70ch;color:var(--muted);font-size:14px;line-height:1.6}.skill-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.skill-actions a{text-decoration:none}.skill-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px;margin-bottom:18px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.skill-meta>div{display:flex;flex-direction:column;gap:2px}.skill-meta span{font-size:11px;color:var(--muted)}.skill-meta code{font-family:var(--font-wenkai-mono);font-size:12px;color:var(--ink);word-break:break-all}.skill-section{margin-bottom:22px;padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.skill-section h2{margin:0 0 8px;font-size:16px;font-weight:500}.skill-hint{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.5}.skill-hint code{padding:1px 4px;border-radius:3px;font-size:11px;color:var(--green)}.skill-compose,.skill-hint code{background:var(--surface-inset);font-family:var(--font-wenkai-mono)}.skill-compose{margin:0;padding:14px;border:1px solid var(--line);border-radius:6px;font-size:12px;line-height:1.7;color:var(--ink);white-space:pre-wrap;max-height:360px;overflow:auto}.skill-step-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.skill-step-list>li{padding:12px 14px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.skill-step-list>li.in_compose{border-left:2px solid var(--green)}.skill-step-list>li.orphan{border-left:2px solid #d4a04a}.skill-step-list>li header{display:flex;align-items:center;gap:10px;margin-bottom:8px;font-size:12px;color:var(--muted);flex-wrap:wrap}.step-num{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;background:var(--green);color:#fff;font-size:11px;font-weight:500}.step-num,.step-slot{font-family:var(--font-wenkai-mono)}.step-slot{display:inline-flex;align-items:center;gap:6px;font-size:12px}.step-slot code{color:var(--green)}.badge{font-size:10px;padding:1px 6px;border-radius:999px;font-weight:500}.badge.ok{background:var(--green-2);color:var(--green)}.badge.warn{background:rgba(212,160,74,.18);color:#a36405}.badge.soft{background:rgba(216,223,214,.6);color:var(--muted)}.step-prompt{margin:0 0 8px;font-size:13px;line-height:1.6;color:var(--ink)}.step-options-readonly{margin:8px 0 0;padding:0;list-style:none;display:grid;grid-gap:4px;gap:4px}.step-options-readonly li{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:baseline;grid-gap:8px;gap:8px;padding:4px 0;font-size:12px;color:var(--ink)}.step-options-readonly .opt-dot{font-family:var(--font-wenkai-mono);color:var(--muted);font-size:11px}.step-options-readonly .opt-hint{grid-column:2;color:var(--muted);font-size:11px}.skill-empty{margin:0;padding:18px;text-align:center;color:var(--soft);font-size:13px;border:1px dashed var(--line);border-radius:6px}.skill-edit-page .page-lead strong{display:block;margin-top:8px;padding:8px 10px;background:rgba(212,160,74,.12);border-left:2px solid #d4a04a;border-radius:4px;color:#a36405;font-weight:500;font-size:12px}.skill-editor{display:flex;flex-direction:column;gap:18px}.editor-compose-section,.editor-meta-section,.editor-steps-section{padding:16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.editor-meta-section{display:grid;grid-gap:12px;gap:12px}.editor-compose-section header,.editor-steps-section header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.editor-compose-section h2,.editor-steps-section h2{margin:0;font-size:15px;font-weight:500}.editor-compose-section span,.editor-steps-section span{font-family:var(--font-wenkai-mono);font-size:11px;color:var(--muted)}.editor-hint{margin:0 0 10px;font-size:12px;color:var(--muted);line-height:1.6}.editor-hint code{padding:1px 4px;background:var(--surface-inset);border-radius:3px;font-family:var(--font-wenkai-mono);font-size:11px;color:var(--green)}.skill-editor label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.skill-editor input,.skill-editor textarea{border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:var(--surface);font:inherit;font-size:13px;color:var(--ink);line-height:1.5;resize:vertical}.skill-editor input:focus,.skill-editor textarea:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.editor-compose-area{font-family:var(--font-wenkai-mono);font-size:12px;line-height:1.7;min-height:240px}.slot-coverage{margin-top:12px;padding:10px 12px;background:var(--surface-inset);border:1px solid var(--line);border-radius:6px}.slot-coverage-title{margin:0 0 6px;font-size:11px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.slot-coverage ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.slot-coverage li{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;background:var(--surface);font-size:11px}.slot-coverage li.ok{border:1px solid var(--green);color:var(--green)}.slot-coverage li.warn{border:1px solid #d4a04a;color:#a36405}.slot-coverage code{font-family:var(--font-wenkai-mono);color:var(--ink)}.editor-step-list{margin:0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.editor-step-card{padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--surface)}.editor-step-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.step-head-left{gap:8px}.step-controls,.step-head-left{display:inline-flex;align-items:center}.step-controls{gap:2px}.step-controls button{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--line);border-radius:4px;background:var(--surface);font-size:12px;color:var(--muted);cursor:pointer}.step-controls button:hover{border-color:var(--green);color:var(--green)}.step-controls button:disabled{opacity:.4;cursor:not-allowed}.step-del{display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer}.step-del:hover{color:#b22a2a;border-color:#b22a2a}.step-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:end;margin-bottom:10px}.step-optional-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}.step-optional-label input{width:auto}.step-options-editor{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:6px;background:rgba(255,254,250,.6)}.step-options-editor>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.step-options-editor>header span{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.ghost-button.small{padding:4px 10px;font-size:11px;min-height:0}.options-empty{margin:0;padding:10px;font-size:12px;color:var(--soft);text-align:center;font-style:italic}.option-row{display:grid;grid-template-columns:22px 1.2fr 1fr 1.4fr 28px;grid-gap:6px;gap:6px;align-items:center;padding:4px 0}.option-row input{font-size:12px;padding:6px 8px}.opt-num{font-family:var(--font-wenkai-mono);font-size:11px;color:var(--muted);text-align:center}.opt-del{display:grid;place-items:center;width:26px;height:26px;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--muted);cursor:pointer}.opt-del:hover{color:#b22a2a;border-color:#b22a2a}.editor-error{border:1px solid #b22a2a;border-radius:6px;background:rgba(178,42,42,.06);color:#b22a2a}.editor-error,.editor-saved{margin:0;padding:8px 12px;font-size:12px;display:inline-flex;align-items:center;gap:6px}.editor-saved{border:1px solid var(--green);border-radius:6px;background:var(--green-2);color:var(--green)}.editor-foot{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:8px 0}.editor-foot a{text-decoration:none}.editor-foot .primary-button{display:inline-flex;align-items:center;gap:6px}@media (max-width:720px){.step-row{grid-template-columns:1fr}.option-row{grid-template-columns:18px 1fr 22px}.option-row input:not(.opt-hint){grid-column:2}.option-row .opt-hint{grid-column:1/-1}}.metrics-page{display:flex;flex-direction:column;gap:18px}.metrics-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));grid-gap:10px;gap:10px}.metric-stat{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.metric-stat-label{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--muted);letter-spacing:.04em}.metric-stat strong{font-size:22px;font-weight:500;color:var(--ink);line-height:1.2;font-family:var(--font-wenkai-mono)}.metric-stat-sub{display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--soft);font-family:var(--font-wenkai-mono)}.metrics-filters{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.metrics-search{display:flex;align-items:center;gap:6px}.metrics-search input[type=search]{flex:1 1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:13px;color:var(--ink)}.metrics-search input[type=search]:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.metrics-filter-chips{display:flex;flex-wrap:wrap;gap:6px}.metrics-tag-chips{border-top:1px dashed var(--line);padding-top:8px}.metrics-list{margin:0;padding:0;list-style:none}.metrics-list,.metrics-row{display:flex;flex-direction:column;gap:8px}.metrics-row{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86);transition:border-color .12s ease}.metrics-row:hover{border-color:var(--green)}.metrics-row-head{display:grid;grid-template-columns:56px 1fr auto;align-items:center;grid-gap:12px;gap:12px}.metrics-thumb{width:56px;height:56px;object-fit:cover;border-radius:6px;border:1px solid var(--line);display:block}.metrics-thumb,.metrics-thumb-empty{background:var(--surface-2)}.metrics-row-meta{display:flex;flex-direction:column;gap:4px;min-width:0}.metrics-row-title{font-size:14px;font-weight:500;color:var(--ink);text-decoration:none;line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.metrics-row-title:hover{color:var(--green)}.metrics-row-tags{display:flex;flex-wrap:wrap;gap:4px}.tag-pill{display:inline-flex;align-items:center;padding:1px 7px;font-size:10px;font-family:var(--font-wenkai-mono);letter-spacing:.03em;color:var(--muted);background:var(--surface-2);border-radius:999px;border:1px solid var(--line)}.metrics-row-stats{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding-top:6px;border-top:1px dashed var(--line)}.metric-cell{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--ink);font-family:var(--font-wenkai-mono)}.metric-cell svg{color:var(--muted)}.metric-stamp{margin-left:auto;font-size:11px;color:var(--soft);font-family:var(--font-wenkai-mono)}.metric-note-pill{display:inline-flex;align-items:center;padding:1px 7px;font-size:11px;color:var(--coral);background:var(--yellow);border-radius:4px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metrics-row-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px 10px;gap:8px 10px;padding-top:6px;border-top:1px dashed var(--line)}.metrics-row-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;color:var(--muted)}.metrics-row-form label span{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-wenkai-mono);letter-spacing:.03em}.metrics-row-form input[type=number],.metrics-row-form input[type=text]{padding:6px 8px;border:1px solid var(--line);border-radius:5px;background:var(--surface);font:inherit;font-size:13px;color:var(--ink);font-family:var(--font-wenkai-mono)}.metrics-row-form input:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.metrics-form-note{grid-column:1/-1}.metrics-form-actions{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:10px}.form-error{font-size:12px;color:var(--coral);margin-right:auto}.metrics-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:36px 18px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;background:rgba(255,254,250,.6)}.metrics-empty p{margin:0;font-size:14px}.metrics-empty-sub{font-size:12px;color:var(--soft)}@media (max-width:720px){.metrics-row-head{grid-template-columns:48px 1fr auto;gap:10px}.metrics-thumb{width:48px;height:48px}.metrics-row-form{grid-template-columns:repeat(2,minmax(0,1fr))}}.note-metrics{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(217,234,220,.45),rgba(255,254,250,.86))}.note-metrics-empty{background:rgba(255,254,250,.86)}.note-metrics-head{display:flex;align-items:center;gap:10px;font-size:12px;color:var(--muted)}.note-metrics-head .eyebrow{display:inline-flex;align-items:center;gap:4px;color:var(--green);margin:0}.note-metrics-date{font-family:var(--font-wenkai-mono);color:var(--soft)}.note-metrics-head .ghost-button{margin-left:auto;font-size:12px;padding:4px 10px}.note-metrics-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.metric-cell-large{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;background:var(--surface);border:1px solid var(--line);border-radius:6px}.metric-cell-large svg{color:var(--muted);margin-bottom:2px}.metric-cell-large strong{font-size:18px;font-weight:500;color:var(--ink);font-family:var(--font-wenkai-mono);line-height:1.1}.metric-cell-large span{font-size:11px;color:var(--muted);font-family:var(--font-wenkai-mono);letter-spacing:.04em}.note-metrics-note{margin:0;font-size:12px;color:var(--muted);padding:4px 8px;background:var(--yellow);border-radius:4px;align-self:flex-start}.note-metrics-empty p{margin:0;font-size:13px;color:var(--muted)}.inline-link{color:var(--green);text-decoration:underline;text-underline-offset:2px;margin-left:4px}.inline-link:hover{color:var(--coral)}@media (max-width:720px){.note-metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.admin-quicklinks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:10px;gap:10px;margin:10px 0 16px}.admin-quicklink{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);text-decoration:none;color:inherit;position:relative;transition:border-color .12s ease,transform .12s ease}.admin-quicklink:hover{border-color:var(--green);transform:translateY(-1px)}.admin-quicklink strong{font-size:14px;font-weight:500;color:var(--green);display:inline-flex;align-items:center;gap:6px}.admin-quicklink span{font-size:12px;color:var(--muted);line-height:1.5}.admin-quicklink>svg{position:absolute;top:12px;right:12px;color:var(--soft)}.admin-quicklink:hover>svg{color:var(--green)}.assets-page{display:flex;flex-direction:column;gap:18px}.assets-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));grid-gap:10px;gap:10px}.assets-filters{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86)}.assets-search{display:flex;align-items:center;gap:6px}.assets-search input[type=search]{flex:1 1;min-width:0;padding:7px 10px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:13px;color:var(--ink)}.assets-search input[type=search]:focus{outline:2px solid var(--green);outline-offset:1px;border-color:var(--green)}.assets-tag-chips{border-top:1px dashed var(--line);padding-top:8px}.assets-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.asset-card{display:flex;flex-direction:column;gap:10px;padding:10px;background:rgba(255,254,250,.88);transition:border-color .12s ease}.asset-card.muted{opacity:.92}.asset-thumb{margin:0;border-radius:8px;overflow:hidden;background:var(--surface-2)}.asset-thumb img{display:block;width:100%;height:180px;object-fit:cover}.asset-meta{display:flex;flex-direction:column;gap:4px}.asset-title{font-size:14px;line-height:1.35}.asset-sub{font-size:11px;color:var(--muted)}.asset-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto}.asset-error{font-size:12px;color:var(--coral)}.assets-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:30px;text-align:center;color:var(--muted);border:1px dashed var(--line);border-radius:8px;background:rgba(255,254,250,.6)}.assets-empty p{margin:0;font-size:14px}.assets-empty-sub{font-size:12px;color:var(--soft)}.benchmark-image-grid,.benchmark-image-item{position:relative}.save-benchmark-asset{position:absolute;top:8px;right:8px}.save-asset-trigger{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid rgba(255,255,255,.7);border-radius:999px;background:rgba(38,95,68,.78);color:#fff;cursor:pointer}.save-asset-trigger:hover{background:rgba(38,95,68,.92)}.save-asset-popover{position:absolute;top:36px;right:0;width:230px;padding:10px;display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);z-index:5}.save-asset-section{display:flex;flex-direction:column;gap:6px}.save-asset-label{font-size:11px;color:var(--muted);letter-spacing:.04em}.save-asset-chips{display:flex;flex-wrap:wrap;gap:4px}.save-asset-chip{font:inherit;font-size:11px;padding:4px 8px;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:999px;cursor:pointer}.save-asset-chip:hover:not(:disabled){border-color:var(--green-2);background:var(--green-2);color:var(--green)}.save-asset-chip.on{background:var(--green);border-color:var(--green);color:#fff8e7}.save-asset-chip:disabled{opacity:.5;cursor:not-allowed}.save-asset-popover label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.save-asset-popover select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:13px}.save-asset-popover .primary-button.small{padding:7px 10px;font-size:12px}.save-asset-success{position:relative;display:flex;gap:10px;align-items:center;padding:4px}.save-asset-success-thumb{position:relative;margin:0;width:56px;height:56px;flex-shrink:0;border-radius:6px;overflow:hidden;border:1px solid var(--green-2);background:var(--surface-2)}.save-asset-success-thumb img{display:block;width:100%;height:100%;object-fit:cover}.save-asset-success-text{display:flex;flex-direction:column;gap:2px;flex:1 1;min-width:0}.save-asset-success-text strong{font-size:13px;font-weight:500;color:var(--green)}.save-asset-success-text span{font-size:11px;color:var(--muted)}.save-asset-close{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:0;border-radius:999px;background:var(--surface-2);color:var(--muted);cursor:pointer;flex-shrink:0}.save-asset-close:hover{background:var(--green-2);color:var(--green)}.save-asset-box{margin-top:10px;padding:10px;display:flex;flex-wrap:wrap;align-items:center;gap:10px;border:1px dashed var(--line);border-radius:8px;background:rgba(255,254,250,.6)}.save-asset-box label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted)}.save-asset-box select{padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);font:inherit;font-size:13px}.asset-item.private{border-style:dashed}.asset-item.private img{opacity:.95}.asset-share{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--green);cursor:pointer}.asset-share:hover{border-color:var(--green);background:var(--green-2)}.result-ref-images{display:flex;gap:12px;margin-bottom:16px;padding:12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86);overflow-x:auto}.ref-thumb{margin:0;display:flex;flex-direction:column;gap:6px;min-width:120px;max-width:180px}.ref-thumb img{display:block;width:100%;height:140px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:var(--surface-2)}.ref-thumb figcaption{font-size:11px;color:var(--muted);text-align:center;font-family:var(--font-wenkai-mono);letter-spacing:.03em}.asset-selection-toolbar{display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:rgba(255,254,250,.86);margin-bottom:12px}.asset-selection-toolbar .ghost-button.active{border-color:var(--green);color:var(--green);background:var(--green-2)}.selection-count{font-size:12px;color:var(--muted);font-family:var(--font-wenkai-mono);margin-left:auto}.asset-card{position:relative;margin:0;padding:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--surface-2);aspect-ratio:3/4;transition:border-color .12s ease,transform .12s ease}.asset-card:hover{border-color:var(--green)}.asset-card.muted{opacity:.78}.asset-card.muted:after{content:"归档 / 私有";position:absolute;top:6px;left:6px;padding:2px 6px;border-radius:4px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;letter-spacing:.04em;z-index:2}.asset-thumb-button{position:absolute;inset:0;display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:transparent;cursor:zoom-in;overflow:hidden}.asset-thumb-button img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .2s ease}.asset-thumb-button:hover img{transform:scale(1.04)}.asset-overlay-caption{position:absolute;bottom:0;left:0;right:0;padding:12px 10px 8px;font-size:12px;color:#fff;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(0,0,0,.65));line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .16s ease}.asset-card:hover .asset-overlay-caption{opacity:1}.asset-menu-button{position:absolute;top:6px;right:6px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:999px;background:rgba(0,0,0,.42);color:#fff;cursor:pointer;opacity:1;transition:background .12s ease,transform .12s ease}.asset-menu-button:focus-visible,.asset-menu-button:hover{background:rgba(0,0,0,.7);transform:scale(1.08)}.asset-menu-button:hover{background:rgba(0,0,0,.65)}.asset-action-menu{position:absolute;top:38px;right:6px;z-index:4;min-width:160px;padding:4px;border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);display:flex;flex-direction:column}.asset-menu-item{display:flex;align-items:center;gap:6px;width:100%;padding:7px 10px;border:0;background:transparent;font:inherit;font-size:13px;color:var(--ink);text-align:left;cursor:pointer;border-radius:5px}.asset-menu-item:hover{background:var(--green-2);color:var(--green)}.asset-menu-item.danger{color:var(--coral)}.asset-menu-item.danger:hover{background:rgba(230,95,61,.08);color:var(--coral)}.asset-menu-meta{display:flex;flex-wrap:wrap;gap:4px;padding:6px 10px 4px;font-size:11px;color:var(--soft);font-family:var(--font-wenkai-mono);border-top:1px dashed var(--line);margin-top:4px}.asset-checkbox{position:absolute;top:6px;left:6px;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .12s ease,color .12s ease}.asset-checkbox:hover{border-color:var(--green);color:var(--green)}.asset-card.selected{border-color:var(--green);box-shadow:0 0 0 2px var(--green-2)}.asset-card.selected .asset-checkbox{border-color:var(--green);color:var(--green);background:var(--green-2)}.toolbar-error{font-size:12px;color:var(--coral);margin-left:auto}.asset-batch-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:center;gap:16px;padding:12px 20px;background:var(--surface);border-top:2px solid var(--green);box-shadow:0 -8px 30px rgba(38,95,68,.12)}.batch-count{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap}.batch-actions{display:flex;gap:8px;flex-wrap:wrap}.batch-actions .ghost-button.danger{color:var(--coral);border-color:var(--coral)}.batch-actions .ghost-button.danger:hover{background:rgba(230,95,61,.08)}.batch-error{font-size:12px;color:var(--coral);margin-left:auto}@media (max-width:720px){.asset-batch-bar{flex-wrap:wrap;gap:10px;padding:10px 14px;bottom:56px}.batch-actions{width:100%}}.dialog-mask{position:fixed;inset:0;background:rgba(40,30,20,.45);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:80;display:flex;align-items:center;justify-content:center;padding:16px;animation:dialog-fade .18s ease-out}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}.dialog-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px -20px rgba(40,30,20,.35);width:100%;max-width:520px;max-height:calc(100vh - 32px);display:flex;flex-direction:column;overflow:hidden;animation:dialog-rise .22s cubic-bezier(.2,.8,.2,1)}@keyframes dialog-rise{0%{transform:translateY(8px) scale(.98);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.dialog-card header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}.dialog-card header h3{margin:0;font-size:15px;font-weight:500;letter-spacing:.04em}.dialog-close{width:26px;height:26px;padding:0;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer}.dialog-close:hover{background:var(--surface-2);color:var(--ink)}.dialog-body{padding:18px;display:flex;flex-direction:column;gap:14px;overflow-y:auto;flex:1 1}.dialog-body label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted)}.dialog-body label>span:first-child,.field-label{font-size:12px;color:var(--muted);letter-spacing:.04em}.dialog-body input[type=number],.dialog-body input[type=text],.dialog-body select,.dialog-body textarea{font:inherit;font-size:13px;padding:8px 10px;border-radius:6px;border:1px solid var(--line);background:var(--surface-2);color:var(--ink);width:100%;resize:vertical}.dialog-body input[type=text]:focus,.dialog-body select:focus,.dialog-body textarea:focus{outline:none;border-color:var(--green);background:var(--surface)}.field-hint{font-size:11px;color:var(--soft);text-align:right;font-family:var(--font-wenkai-mono)}.dialog-card footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--line);background:var(--surface-2)}.danger-button{font:inherit;padding:8px 14px;font-size:13px;border-radius:6px;background:#a8331f;color:#fff8e7;border:1px solid #8a2917;cursor:pointer;letter-spacing:.04em}.danger-button:hover:not(:disabled){background:#8a2917}.danger-button:disabled{background:var(--surface-2);color:var(--soft);border-color:var(--line);cursor:not-allowed}.danger-text{color:#a8331f;font-weight:500}.delete-asset-thumb,.edit-asset-thumb{margin:0;width:100%;max-height:180px;border-radius:8px;overflow:hidden;background:var(--surface-2);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}.delete-asset-thumb img,.edit-asset-thumb img{display:block;max-width:100%;max-height:180px;object-fit:contain}.tag-editor{display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface-2);min-height:36px}.tag-editor input{flex:1 1;min-width:100px;border:0;background:transparent;font-size:13px;padding:2px 0;color:var(--ink)}.tag-editor input:focus{outline:none}.tag-chip{gap:4px;padding:3px 8px;border-radius:999px;background:var(--green-2);font-size:11px;font-family:var(--font-wenkai-mono)}.tag-chip,.tag-chip button{display:inline-flex;align-items:center;color:var(--green)}.tag-chip button{width:14px;height:14px;padding:0;border:0;border-radius:999px;background:transparent;font-size:12px;line-height:1;cursor:pointer;justify-content:center}.tag-chip button:hover{background:var(--green);color:var(--surface)}.dialog-warning{margin:0;font-size:13px;color:var(--ink);line-height:1.55}.dialog-warning-sub{margin:-6px 0 0;font-size:12px;color:var(--muted)}.delete-asset-meta{margin:-4px 0 0;padding:8px 10px;border-radius:6px;background:var(--surface-2);font-size:12px;color:var(--muted);font-family:var(--font-wenkai-mono);word-break:break-all}@media (max-width:600px){.dialog-card{max-width:100%}}.undo-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 14px 10px 16px;background:var(--ink);color:#fff8e7;border-radius:999px;box-shadow:0 8px 24px -8px rgba(0,0,0,.35);z-index:60;max-width:calc(100vw - 32px);animation:undo-rise .22s cubic-bezier(.2,.8,.2,1)}@keyframes undo-rise{0%{transform:translate(-50%,6px);opacity:0}to{transform:translate(-50%);opacity:1}}.undo-toast-text{font-size:12px;letter-spacing:.02em;display:inline-flex;align-items:center;gap:6px}.undo-toast-seconds{color:rgba(255,248,231,.55);font-family:var(--font-wenkai-mono);font-size:11px}.undo-toast-action{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;font:inherit;font-size:12px;color:var(--ink);background:#fff8e7;border:0;border-radius:999px;cursor:pointer;letter-spacing:.04em}.undo-toast-action:hover{background:var(--green-2)}@media (max-width:720px){.undo-toast{bottom:72px}}