@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400 600;font-display:swap;src:url(/fonts/NotoSerifSC.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC Fallback";src:local("Songti SC"),local("Source Han Serif SC"),local("Noto Serif CJK SC"),local("Times New Roman");ascent-override:115.1%;descent-override:28.6%;line-gap-override:0%;size-adjust:100%}:root{color-scheme:dark;--bg: #14120e;--ink: #ece6d8;--muted: #a39886;--line: #3a342b;--chip: #231f1a;--chip-ink: #ece6d8;--accent: #e6b15a;font-family:"Noto Serif SC","Noto Serif SC Fallback",Songti SC,"Source Han Serif SC","Noto Serif CJK SC",WenQuanYi Micro Hei,Droid Sans Fallback,serif}*{box-sizing:border-box}.skip{position:absolute;left:12px;top:12px;z-index:2;padding:8px 12px;background:var(--ink);color:var(--bg);transform:translateY(-150%)}.skip:focus{transform:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}body{margin:0;min-height:100vh;background:radial-gradient(1200px 500px at 10% -10%,rgba(230,177,90,.08),transparent 55%),var(--bg);color:var(--ink)}.app{display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;width:100%;min-width:0;min-height:100vh}.sidebar{position:sticky;top:0;display:flex;flex-direction:column;height:100vh;min-width:0;padding:16px 12px 12px;border-right:1px solid var(--line);background:#100e0b}.sidebar-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.brand{margin:0 0 14px;color:var(--accent);font-size:13px;letter-spacing:.08em}.sidebar h2{margin:0;font-size:18px;font-weight:600}.theme-count{margin:0;color:var(--muted);font-size:13px}.filter-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}#theme-filter{width:100%;margin-top:12px;border:1px solid var(--line);border-radius:8px;background:#1b1814;color:var(--ink);font:15px/1.4 "Noto Serif SC","Noto Serif SC Fallback",serif;padding:8px 10px}.tone{display:flex;gap:6px;margin:8px 0}.tone-btn{appearance:none;border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:999px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer}.tone-btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.theme-scroll{flex:1;min-height:0;overflow:auto;margin:0 -4px;padding:0 4px}.theme-item{display:grid;grid-template-columns:14px minmax(0,1fr);column-gap:8px;row-gap:0;width:100%;min-width:0;margin:0 0 2px;padding:6px 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14px;text-align:left;cursor:pointer}.theme-item:hover{background:#231f1a}.theme-item[aria-selected=true]{background:#2c261c;box-shadow:inset 2px 0 0 var(--accent)}.swatch{width:14px;height:14px;margin-top:2px;border-radius:4px;box-shadow:inset 0 0 0 1px #ece6d847}.theme-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-author{grid-column:2;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.theme-empty{margin:12px 8px;color:var(--muted);font-size:14px}.custom{border-top:1px solid var(--line);margin-top:8px;padding-top:8px}.custom summary{cursor:pointer;color:var(--muted);font-size:14px}.custom summary:hover{color:var(--ink)}.page{width:min(860px,100%);min-width:0;margin:0 auto;padding:28px 24px 48px}main h1{margin:0 0 14px;font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-.03em}.paste{display:grid;gap:8px;margin:10px 0 0}.paste label{color:var(--muted);font-size:14px}.paste textarea{width:100%;min-height:5.5rem;resize:vertical;border:1px solid var(--line);border-radius:8px;background:#1b1814;color:var(--ink);font:12px/1.45 IBM Plex Mono,ui-monospace,"Noto Serif SC",monospace;padding:8px 10px}.text-btn{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:4px 10px;font:inherit;font-size:13px;cursor:pointer}.paste-actions{display:flex;flex-wrap:wrap;gap:8px}.file input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.paste-note{min-height:1.2em;margin:0;color:var(--muted);font-size:13px}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.text-btn:focus-within,.theme-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.stage-wrap{border:1px solid var(--line);border-radius:12px;background:#000;min-width:0;padding:0 12px 14px;overflow:hidden}.stage-bar{display:flex;gap:6px;padding:10px 2px 8px}.stage-bar i{width:9px;height:9px;border-radius:50%;background:#3a342b}#kitty-canvas{display:block;width:100%;height:auto;min-width:0;background:#000;image-rendering:pixelated}.status{margin:12px 0 0;color:var(--muted);font-size:14px}.banner{margin:0 0 14px;padding:12px 14px;border:1px solid var(--line);background:#231f1a}.banner.error{border-color:#8d3b32;color:#f0c7c0}footer{margin-top:28px;color:var(--muted);font-size:14px;line-height:1.55}footer a{color:var(--accent)}textarea::placeholder{color:var(--muted);opacity:1}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}@media(max-width:800px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--line)}.theme-scroll{max-height:52vh}.page{width:100%;padding:18px 16px 40px}}
