@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-italic-Y14P-dkT.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-italic-DhNIfkTX.woff)format("woff")}:root{--void:#010102;--ink:#0b0b0d;--moon:#e9e6df;--dim:#e9e6df99;--faint:#e9e6df5c;--line:#e9e6df17;--line-strong:#e9e6df2b;--gold:#c4a470;--blue:#8e97a8;--danger:#e25848;--glass:linear-gradient(180deg, #111114bd, #050507b3);--film:linear-gradient(90deg, transparent, #c4a4702e 16%, #c4a470cc 50%, #c4a4702e 84%, transparent);--display:"Cormorant Garamond", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Microsoft YaHei UI", "Segoe UI", sans-serif;--mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--ease:cubic-bezier(.2, .8, .2, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:var(--void);height:100%;color:var(--moon);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}.no-gl body{background:radial-gradient(60vw 40vh at 62% 46%, #c4a47024, transparent 60%), radial-gradient(90vw 70vh at 60% 50%, #78829624, transparent 70%), var(--void)}#cosmos{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}#root{pointer-events:none;position:fixed;inset:0}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}h1,h2,h3,h4,p,ul{margin:0;padding:0}ul{list-style:none}:focus-visible{outline:2px solid var(--gold);outline-offset:2px}::selection{background:#c4a47066}.star-tip{z-index:5;pointer-events:none;opacity:0;will-change:transform;transition:opacity .18s;position:fixed;top:0;left:0}.star-tip.on{opacity:1}.star-tip:before{content:"";background:var(--c,var(--gold));transform-origin:0;opacity:.7;width:26px;height:1px;position:absolute;top:-15px;left:14px;transform:rotate(-32deg)}.star-tip b,.star-tip span{white-space:nowrap;text-shadow:0 1px 12px #000,0 0 3px #000;position:absolute;left:40px}.star-tip b{text-overflow:ellipsis;max-width:46vw;font-size:14px;font-weight:600;top:-42px;overflow:hidden}.star-tip span{color:var(--c,var(--gold));font-size:12px;top:-21px}.gate{pointer-events:none;position:absolute;inset:0}.gate-title{text-align:center;font:italic 500 min(5.4vw, 9.5vh) / 1.08 var(--display);letter-spacing:-.012em;color:#f3f1ec;text-shadow:0 2px 30px #000000f2,0 0 2px #0009;-webkit-user-select:none;user-select:none;transition:transform .8s cubic-bezier(.6,0,.9,.35),opacity .7s ease-in 80ms,filter .8s;position:absolute;inset:max(8vh,48px) 20px auto}.gate.leaving .gate-title{opacity:0;filter:blur(3px);transform:translateY(38vh)scale(.03)}.gate-line{white-space:nowrap;animation:line-in 1.8s var(--ease) both;display:inline-block}.gate-line.r{animation-delay:.18s}@keyframes line-in{0%{opacity:0;filter:blur(14px);letter-spacing:.08em}}.gate-form{pointer-events:auto;width:min(360px,100vw - 48px);animation:form-in 1.2s .5s var(--ease) both;gap:10px;transition:opacity .7s ease-in 80ms,transform .8s cubic-bezier(.6,0,.9,.35);display:grid;position:absolute;bottom:max(7vh,34px);left:50%;transform:translate(-50%)}.gate.leaving .gate-form{opacity:0;pointer-events:none;transform:translate(-50%,-36vh)scale(.03)}@keyframes form-in{0%{opacity:0;transform:translate(-50%,18px)}}.gate-form.setup{-webkit-backdrop-filter:blur(26px)saturate(108%);backdrop-filter:blur(26px)saturate(108%);border:1px solid var(--line-strong);background:#050507db;border-radius:28px;width:min(400px,100vw - 32px);padding:22px 20px 12px;box-shadow:0 30px 90px -20px #000,inset 0 1px #ffffff12}.gate-lede{text-align:center;color:var(--moon);text-wrap:balance;margin-bottom:6px;font-size:15px;line-height:1.6}.gate-field{-webkit-backdrop-filter:blur(22px)saturate(108%);backdrop-filter:blur(22px)saturate(108%);background:#050507d6;border:1px solid #e9e6df42;border-radius:999px;transition:border-color .25s,box-shadow .25s;position:relative;box-shadow:0 16px 50px -16px #000}.gate-form.setup .gate-field{box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffff0f}.gate-field:focus-within{border-color:#c4a470cc;box-shadow:0 0 0 4px #c4a4701a,0 16px 50px -16px #000}.gate-field input{letter-spacing:.04em;background:0 0;border:0;outline:none;width:100%;height:54px;padding:0 60px 0 24px;font-size:16px}.gate-field input::placeholder{color:var(--dim);letter-spacing:0}.gate-form.wrong .gate-field{border-color:var(--danger);animation:.42s nope}@keyframes nope{20%{transform:translate(-9px)}45%{transform:translate(7px)}70%{transform:translate(-4px)}}.gate-go{background:var(--moon);color:#0a0a0c;width:42px;height:42px;transition:transform .2s var(--ease), opacity .2s;border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.gate-go:not(:disabled):hover{transform:scale(1.08)}.gate-set{background:var(--moon);color:#0a0a0c;border-radius:999px;height:52px;font-weight:600;transition:background .2s,color .2s}.gate-set:disabled,.gate-go:disabled{opacity:1;color:#e9e6df80;background:#242427}.gate-error{text-align:center;min-height:21px;color:var(--danger);font-size:14px}.gate-offline{text-align:center;width:min(420px,86vw);color:var(--dim);position:absolute;bottom:18vh;left:50%;transform:translate(-50%)}@media (aspect-ratio<=5/4){.gate-title{font-size:min(9.4vw,6.2vh)}.gate-line{display:block}}.btn{border:1px solid var(--line-strong);white-space:nowrap;height:40px;transition:background .18s, border-color .18s, transform .18s var(--ease);background:#ffffff0d;border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font-weight:500;display:inline-flex}.btn:not(:disabled):hover{background:#ffffff1c}.btn:not(:disabled):active{transform:scale(.97)}.btn.primary{background:var(--moon);color:#0a0a0c;border-color:#0000;font-weight:600;box-shadow:0 10px 34px -14px #000}.btn.primary:not(:disabled):hover{background:#fff}.btn.ghost{color:var(--dim);background:0 0;border-color:#0000}.btn.ghost:not(:disabled):hover{color:var(--moon);background:#ffffff12}.btn.danger{color:var(--danger);border-color:#e2584859}.btn.danger:not(:disabled):hover{background:#e2584824}.btn.small{height:32px;padding:0 13px;font-size:13px}.btn.wide{width:100%}.icon-btn{width:36px;height:36px;color:var(--dim);border-radius:50%;flex:none;place-items:center;transition:background .18s,color .18s;display:inline-grid}.icon-btn:hover{color:var(--moon);background:#ffffff1a}.icon-btn.danger:hover{color:var(--danger);background:#e2584829}.icon-btn.boxed{border:1px solid var(--line-strong);background:#ffffff0a;width:40px;height:40px}.push{margin-left:auto}.chip{border:1px solid var(--line-strong);height:38px;color:var(--moon);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#08080a66;border-radius:999px;align-items:center;gap:8px;padding:0 16px 0 13px;font-weight:500;transition:background .18s,box-shadow .25s;display:inline-flex}.chip:hover{background:#ffffff14;border-color:#c4a47099}.field{border:1px solid var(--line-strong);background:#00000047;border-radius:13px;outline:none;width:100%;height:44px;padding:0 15px;transition:border-color .2s,box-shadow .2s}.field:focus{border-color:#c4a470cc;box-shadow:0 0 0 3px #c4a4701a}.field::placeholder{color:var(--faint)}.field.area{resize:vertical;height:min(38vh,300px);padding:13px 15px;line-height:1.6}.field.mono{font:13px var(--mono)}.field.select{width:auto;padding-right:10px}.segmented{border:1px solid var(--line-strong);background:#00000040;border-radius:999px;padding:3px;display:inline-flex}.segmented button{height:34px;color:var(--dim);border-radius:999px;place-items:center;padding:0 15px;font-size:14px;transition:background .18s,color .18s;display:inline-grid}.segmented button.on{color:var(--moon);background:#ffffff24}.segmented.tight button{width:36px;padding:0}.kind{width:36px;height:36px;color:var(--c);background:color-mix(in srgb, var(--c) 13%, transparent);border-radius:11px;flex:none;place-items:center;display:inline-grid}.vault{pointer-events:none;position:absolute;inset:0}.vault>*{pointer-events:auto}.topbar{pointer-events:none;height:76px;animation:fade-down .9s var(--ease) both;justify-content:space-between;align-items:center;padding:0 24px 0 30px;display:flex;position:absolute;inset:0 0 auto}.topbar>*{pointer-events:auto}.brand{filter:drop-shadow(0 2px 10px #000c);width:40px;height:40px;transition:transform .5s var(--ease);border-radius:50%;place-items:center;display:grid}.brand:hover{transform:rotate(90deg)scale(1.08)}.topbar-right{align-items:center;gap:6px;display:flex}.topbar-right .icon-btn{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#08080a59}.topbar-right .icon-btn:hover{background:#ffffff24}.usage{color:var(--dim);font-variant-numeric:tabular-nums;text-shadow:0 1px 10px #000;margin-right:12px;font-size:13px}@keyframes fade-down{0%{opacity:0;transform:translateY(-14px)}}.panel{background:var(--glass);-webkit-backdrop-filter:blur(28px)saturate(108%);backdrop-filter:blur(28px)saturate(108%);border:1px solid var(--line);width:min(610px,45vw);transition:transform .7s var(--ease), opacity .5s;animation:panel-in 1.1s var(--ease) both;border-radius:26px;flex-direction:column;display:flex;position:absolute;top:80px;bottom:24px;left:24px;overflow:hidden;box-shadow:0 50px 140px -30px #000000d9,inset 0 1px #ffffff12}.panel:before{content:"";background:var(--film);opacity:.75;height:1px;position:absolute;inset:0 0 auto}@keyframes panel-in{0%{opacity:0;transform:translate(-40px)scale(.98)}}.panel-head{gap:14px;padding:20px 22px 12px;display:grid}.crumbs{font:600 19px/1.4 var(--sans);flex-wrap:wrap;align-items:center;gap:2px;min-height:28px;display:flex}.crumbs span{align-items:center;gap:2px;display:inline-flex}.crumbs svg{color:var(--faint)}.crumbs a{color:var(--faint);border-radius:6px;padding:0 3px;transition:color .18s}.crumbs a:hover,.crumbs a.here{color:var(--moon)}.search{border:1px solid var(--line);height:42px;color:var(--faint);background:#0000004d;border-radius:13px;align-items:center;gap:10px;padding:0 8px 0 14px;transition:border-color .2s;display:flex}.search:focus-within{color:var(--gold);border-color:#c4a47099}.search input{min-width:0;height:100%;color:var(--moon);background:0 0;border:0;outline:none;flex:1}.search input::placeholder{color:var(--faint)}.search-clear{width:26px;height:26px;color:var(--dim);border-radius:50%;place-items:center;display:grid}.search-clear:hover{background:#ffffff1a}.toolbar{border-bottom:1px solid var(--line);align-items:center;gap:8px;min-height:58px;padding:4px 22px 14px;display:flex}.toolbar.picking{background:#ffffff0a}.picking-count{color:var(--gold);font-variant-numeric:tabular-nums;margin-right:6px;font-weight:600}.files{scrollbar-width:thin;scrollbar-color:#ffffff2e transparent;overscroll-behavior:contain;flex:1;padding:8px 10px 16px;overflow-y:auto}.empty{text-align:center;height:100%;min-height:180px;color:var(--dim);place-content:center;gap:4px;display:grid}.empty p:first-child{color:var(--moon);font-size:18px;font-weight:600}.empty.small{height:auto;min-height:120px}.empty.small p:first-child{font:inherit;color:var(--dim)}.row{cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto 50px;border-radius:14px;grid-template-columns:22px 36px minmax(0,1fr) 84px 96px 36px 36px;align-items:center;gap:10px;padding:7px 8px 7px 10px;transition:background .14s;display:grid}.row:hover{background:#ffffff0f}.row.sel{background:#ffffff17}.row-name{min-width:0;display:grid}.row-open{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;font-weight:500;overflow:hidden}.row-meta{min-width:0;color:var(--faint);gap:8px;font-size:12px;display:flex}.row-meta i{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}.row-meta:empty,.only-narrow{display:none}.row-size,.row-time{color:var(--dim);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:13px}.check{border:1.5px solid var(--line-strong);color:#0a0a0c;opacity:0;border-radius:7px;place-items:center;width:20px;height:20px;transition:opacity .15s,background .15s,border-color .15s;display:grid}.row:hover .check,.card:hover .check,.check[aria-checked=true],.check:focus-visible,.picking~.files .check{opacity:1}.check[aria-checked=true]{background:var(--moon);border-color:var(--moon)}.row-act{opacity:0}.row:hover .row-act,.row-act:focus-visible{opacity:1}.grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;padding:8px 10px;display:grid}.card{cursor:pointer;border-radius:18px;gap:2px;min-width:0;padding:8px;transition:background .14s;display:grid}.card:hover{background:#ffffff0f}.card.sel{background:#ffffff17}.card-face{aspect-ratio:1;background:#0000004d;border-radius:13px;place-items:center;margin-bottom:6px;display:grid;position:relative;overflow:hidden}.card-face img{object-fit:cover;width:100%;height:100%}.card-face .kind{border-radius:20px;width:68px;height:68px}.card-face .check{background-color:#00000080;position:absolute;top:8px;left:8px}.card-face .check[aria-checked=true]{background-color:var(--moon)}.card-more{opacity:0;background:#00000080;width:30px;height:30px;position:absolute;top:4px;right:4px}.card:hover .card-more,.card-more:focus-visible{opacity:1}.card .row-open{font-size:13px}.card-meta{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.tray{background:var(--glass);-webkit-backdrop-filter:blur(26px)saturate(108%);backdrop-filter:blur(26px)saturate(108%);border:1px solid var(--line);z-index:20;width:min(360px,100vw - 32px);animation:tray-in .5s var(--ease) both;border-radius:20px;position:absolute;bottom:24px;right:24px;overflow:hidden;box-shadow:0 30px 90px -20px #000c}@keyframes tray-in{0%{opacity:0;transform:translateY(20px)}}.tray header{align-items:center;padding:8px 8px 8px 16px;display:flex}.tray-title{text-align:left;flex:1;align-items:center;gap:8px;height:36px;display:flex}.tray-title svg{color:var(--dim);transition:transform .2s}.tray-title svg.flip{transform:rotate(180deg)}.tray-bar{background:var(--line);height:2px}.tray-bar i{transform-origin:0;background:var(--moon);height:100%;transition:transform .25s linear;display:block}.tray-bar i.full{background:var(--gold)}.tray ul{scrollbar-width:thin;max-height:min(40vh,280px);padding:6px 8px 8px;overflow-y:auto}.tray li{align-items:center;gap:8px;min-height:48px;padding:6px 4px 6px 8px;display:flex}.tray li div{flex:1;min-width:0;display:grid}.tray li b{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.tray li span{color:var(--faint);font-variant-numeric:tabular-nums;font-size:12px}.tray li.failed span{color:var(--danger)}.tray-ok{color:var(--gold);margin-right:10px}.drop-veil{z-index:60;background:radial-gradient(60% 60%,#ffffff0d,#0000008c);border:1.5px dashed #c4a470b3;border-radius:30px;place-items:center;animation:.25s both veil;display:grid;position:absolute;inset:12px;pointer-events:none!important}.drop-veil p{font:600 min(6vw, 44px) var(--sans);text-shadow:0 2px 40px #000}@keyframes veil{0%{opacity:0;transform:scale(1.02)}}.menu{z-index:90;-webkit-backdrop-filter:blur(24px)saturate(108%);backdrop-filter:blur(24px)saturate(108%);border:1px solid var(--line-strong);pointer-events:auto;min-width:180px;animation:pop .16s var(--ease) both;background:#111114e6;border-radius:16px;padding:6px;position:fixed;box-shadow:0 24px 70px -10px #000c}@keyframes pop{0%{opacity:0;transform:scale(.95)translateY(-4px)}}.menu button{text-align:left;border-radius:10px;align-items:center;gap:11px;width:100%;height:38px;padding:0 12px;display:flex}.menu button svg{color:var(--dim)}.menu button:hover{background:#ffffff1a}.menu button.danger,.menu button.danger svg{color:var(--danger)}.menu hr{border:0;border-top:1px solid var(--line);margin:5px 8px}.toasts{z-index:120;pointer-events:none;justify-items:center;gap:8px;display:grid;position:fixed;top:22px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line-strong);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);max-width:min(520px,90vw);animation:toast .35s var(--ease) both;background:#111114eb;border-radius:999px;padding:10px 18px;font-size:14px;box-shadow:0 16px 50px -10px #000c}.toast.bad{color:#f2b8ae;border-color:#e258488c}@keyframes toast{0%{opacity:0;transform:translateY(-12px)scale(.96)}}.scrim{z-index:70;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;background:#00000080;place-items:center;padding:20px;animation:.22s both fade;display:grid;position:fixed;inset:0}.scrim.side{z-index:65;place-items:stretch end;padding:0}@keyframes fade{0%{opacity:0}}.modal{border:1px solid var(--line-strong);width:min(430px,100%);max-height:calc(100dvh - 40px);animation:modal .32s var(--ease) both;background:linear-gradient(#151518f5,#09090bf5);border-radius:24px;padding:22px 24px 20px;position:relative;overflow-y:auto;box-shadow:0 50px 140px -20px #000}.modal.wide{width:min(600px,100%)}@keyframes modal{0%{opacity:0;transform:translateY(16px)scale(.97)}}.modal header{justify-content:space-between;align-items:flex-start;gap:12px;margin:-4px -8px 14px 0;display:flex}.modal h2{font:600 19px/1.4 var(--sans);overflow-wrap:anywhere;padding-top:4px}.modal footer{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.modal-text{color:var(--dim);margin-bottom:14px}.form{gap:10px;display:grid}.form-error{min-height:20px;color:var(--danger);font-size:13px}.modal .segmented{margin-bottom:12px}.tree{border:1px solid var(--line);background:#00000040;border-radius:14px;max-height:min(46vh,360px);margin-bottom:8px;padding:6px;overflow-y:auto}.tree-row{border-radius:10px;align-items:center;display:flex}.tree-row.on{background:#ffffff1a}.tree-row.off{opacity:.35}.tree-twist{width:26px;height:36px;color:var(--faint);place-items:center;display:grid}.tree-twist svg{transition:transform .15s}.tree-twist.open svg{transform:rotate(90deg)}.tree-name{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;align-items:center;gap:9px;min-width:0;height:36px;display:flex;overflow:hidden}.tree-name svg{color:var(--gold);flex:none}.drawer{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);border-left:1px solid var(--line-strong);width:min(560px,100vw);height:100%;animation:drawer .42s var(--ease) both;background:linear-gradient(#121215f2,#070709f5);flex-direction:column;display:flex;box-shadow:-40px 0 120px -20px #000}@keyframes drawer{0%{opacity:0;transform:translate(60px)}}.drawer>header{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:26px 20px 18px 28px;display:flex}.drawer h2{font:600 24px/1.3 var(--sans)}.drawer>header p{color:var(--dim);max-width:34em;margin-top:6px}.drawer-body{scrollbar-width:thin;flex:1;align-content:start;gap:34px;padding:22px 28px 40px;display:grid;overflow-y:auto}.drawer section{gap:12px;min-width:0;display:grid}.drawer h3{font-size:16px;font-weight:600}.drawer h4{color:var(--dim);margin-top:8px;font-size:13px;font-weight:600}.guide{color:var(--dim)}.hint{color:var(--faint);font-size:13px}.fresh-key{background:#c4a4700f;border:1px solid #c4a4708c;border-radius:16px;gap:10px;padding:14px 16px;display:grid}.fresh-key p{color:var(--gold);font-size:14px}.fresh-key-row{align-items:center;gap:10px;display:flex}.fresh-key code{min-width:0;font:13px var(--mono);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;flex:1}.token-list,.trash-list{gap:4px;display:grid}.token-list li,.trash-list li{background:#ffffff0a;border-radius:14px;align-items:center;gap:12px;padding:9px 6px 9px 12px;display:flex}.token-list li>svg{color:var(--gold);flex:none}.token-list li div,.trash-list li div{flex:1;min-width:0;display:grid}.token-list b,.trash-list b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.token-list span,.trash-list span{color:var(--faint);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.token-list code{font:12px var(--mono);color:var(--dim)}.token-form{gap:10px;display:grid}.token-form-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.token-form-row .btn{margin-left:auto}.tabs{border-bottom:1px solid var(--line);gap:22px;display:flex}.tabs button{color:var(--dim);border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 0 10px;font-weight:500}.tabs button.on{color:var(--moon);border-color:var(--gold)}.code{border:1px solid var(--line);background:#0000006b;border-radius:14px;min-width:0;position:relative}.code pre{font:12.5px/1.65 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;color:#d6d7db;margin:0;padding:14px 84px 14px 16px}.code .btn{background:#121215e6;position:absolute;top:8px;right:8px}.preview{z-index:62;-webkit-backdrop-filter:blur(26px)saturate(108%);backdrop-filter:blur(26px)saturate(108%);pointer-events:auto;animation:reveal .6s var(--ease) both;background:#000000db;flex-direction:column;display:flex;position:fixed;inset:0}@keyframes reveal{0%{clip-path:circle(0 at var(--ox,50%) var(--oy,50%))}to{clip-path:circle(150vmax at var(--ox,50%) var(--oy,50%))}}.preview header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px 14px 22px;display:flex}.preview-title{align-items:center;gap:12px;min-width:0;display:flex}.preview-title div{min-width:0;display:grid}.preview-title b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-title span{color:var(--faint);font-size:12px}.preview-actions{flex:none;align-items:center;gap:6px;display:flex}.preview-stage{flex:1;place-items:center;min-height:0;padding:0 20px 24px;display:grid}.preview-media{object-fit:contain;max-width:100%;min-height:0;max-height:100%;animation:modal .4s var(--ease) both;border-radius:14px;box-shadow:0 40px 120px -20px #000}.preview-frame{background:#fff;border:0;border-radius:14px;width:min(1100px,100%);height:100%}.preview-text{border:1px solid var(--line);background:#0006;border-radius:16px;width:min(920px,100%);height:100%;overflow:auto}.preview-text pre{font:13.5px/1.7 var(--mono);white-space:pre-wrap;overflow-wrap:anywhere;tab-size:2;margin:0;padding:22px 24px}.preview-note{color:var(--dim);padding:14px 24px}.preview-card{color:var(--dim);justify-items:center;gap:18px;display:grid}.preview-card .kind{border-radius:28px;width:96px;height:96px}.preview-card audio{width:min(460px,84vw)}.preview-nav{width:48px;height:48px;color:var(--moon);background:#ffffff14;border-radius:50%;place-items:center;margin-top:-24px;transition:background .18s;display:grid;position:absolute;top:50%}.preview-nav:hover{background:#fff3}.preview-nav.l{left:14px}.preview-nav.r{right:14px}.panel-light{border-radius:inherit;pointer-events:none;opacity:0;background:radial-gradient(440px circle at var(--mx,50%) var(--my,0px), #ffffff0a, transparent 62%);transition:opacity .5s;position:absolute;inset:0}.panel:hover .panel-light{opacity:1}.panel-light:after{content:"";border-radius:inherit;background:radial-gradient(280px circle at var(--mx,50%) var(--my,0px), #fff9, #c4a4704d 45%, transparent 72%);-webkit-mask-composite:xor;padding:1px;position:absolute;inset:0;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor,source-over;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.rows .row,.grid .card{animation:row-in .5s var(--ease) both;animation-delay:calc(var(--i,0) * 26ms)}@keyframes row-in{0%{opacity:0;transform:translateY(12px)}}.row.drop,.card.drop{box-shadow:inset 0 0 0 1.5px var(--gold);background:#c4a47024}.crumbs a.drop{color:#0a0a0c;background:var(--moon)}.drag-chip{background:var(--moon);color:#0a0a0c;max-width:260px;font:600 13px var(--sans);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;padding:7px 14px;position:fixed;top:-400px;left:-400px;overflow:hidden}.card-face{transform:perspective(520px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .25s var(--ease), box-shadow .25s}.card:hover .card-face{box-shadow:0 16px 40px -14px #000000e6,0 0 0 1px #ffffff1a}.holo{transform:perspective(1500px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .3s var(--ease);animation:modal .5s .12s var(--ease) both;display:grid;position:relative}.holo .preview-media{max-width:calc(100vw - 40px);max-height:calc(100dvh - 104px);animation:none}.holo-glare{pointer-events:none;background:radial-gradient(55% 55% at var(--gx,50%) var(--gy,50%), #ffffff3d, transparent 62%);mix-blend-mode:screen;opacity:var(--glare,0);border-radius:14px;transition:opacity .35s;position:absolute;inset:0}kbd{border:1px solid var(--line-strong);min-width:22px;height:22px;font:11px var(--sans);color:var(--dim);background:#ffffff0d;border-radius:7px;place-items:center;padding:0 6px;display:inline-grid}.cmd-btn{border:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);height:38px;color:var(--dim);background:#08080a66;border-radius:999px;align-items:center;gap:8px;margin-right:4px;padding:0 8px 0 13px;font-size:14px;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.cmd-btn:hover{color:var(--moon);border-color:var(--line-strong);background:#ffffff14}.scrim.top{z-index:80;place-items:start center;padding-top:min(17vh,150px)}.palette{-webkit-backdrop-filter:blur(30px)saturate(108%);backdrop-filter:blur(30px)saturate(108%);border:1px solid var(--line-strong);width:min(620px,100%);animation:modal .28s var(--ease) both;background:#0f0f12ed;border-radius:22px;overflow:hidden;box-shadow:0 50px 140px -20px #000}.palette-input{border-bottom:1px solid var(--line);height:62px;color:var(--gold);align-items:center;gap:12px;padding:0 16px 0 20px;display:flex}.palette-input input{min-width:0;height:100%;color:var(--moon);background:0 0;border:0;outline:none;flex:1;font-size:17px}.palette-input input::placeholder{color:var(--faint)}.palette-list{scrollbar-width:thin;max-height:min(50vh,400px);padding:8px;overflow-y:auto}.palette-group{color:var(--faint);padding:8px 12px 4px;font-size:12px}.palette-item{text-align:left;border-radius:12px;align-items:center;gap:12px;width:100%;height:46px;padding:0 12px;display:flex}.palette-item.on{background:#ffffff17}.palette-item .kind,.palette-item .glyph{border-radius:9px;flex:none;place-items:center;width:30px;height:30px;display:grid}.palette-item .glyph{color:var(--dim);background:#ffffff0f}.palette-item.on .glyph{color:var(--gold)}.palette-item b{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.palette-item span:last-child:not(.glyph):not(.kind){max-width:46%;color:var(--faint);text-overflow:ellipsis;white-space:nowrap;margin-left:auto;padding-left:16px;font-size:12px;overflow:hidden}.palette-empty{text-align:center;color:var(--dim);padding:30px 20px}.palette-foot{border-top:1px solid var(--line);color:var(--faint);gap:18px;padding:10px 18px;font-size:12px;display:flex}.palette-foot span{align-items:center;gap:5px;display:inline-flex}@media (width<=860px){.topbar{height:60px;padding:0 10px 0 18px;padding-top:env(safe-area-inset-top);height:calc(60px + env(safe-area-inset-top))}.chip{height:36px;padding:0 13px 0 11px;font-size:14px}.panel{border-bottom:0;border-radius:26px 26px 0 0;width:auto;animation-name:sheet-in;inset:36dvh 0 0}@keyframes sheet-in{0%{opacity:0;transform:translateY(60px)}}.panel-head{gap:12px;padding:18px 16px 10px}.crumbs{font-size:18px}.toolbar{padding:4px 16px 12px}.files{padding:6px 6px calc(16px + env(safe-area-inset-bottom))}.row{grid-template-columns:22px 36px minmax(0,1fr) 36px;padding:8px 6px 8px 8px}.row-size,.row-time,.row-act{display:none}.only-narrow{display:inline}.row-meta{display:flex}.tray{width:auto;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom))}.drawer>header{padding:20px 12px 16px 20px}.drawer h2{font-size:21px}.drawer-body{padding:18px 20px 40px}.preview header{padding:10px 8px 10px 14px}.preview-stage{padding:0 8px 12px}.star-tip b{max-width:60vw}}@media (hover:none){.check,.card-more{opacity:1}.row{grid-template-columns:22px 36px minmax(0,1fr) 36px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.warp-veil{z-index:40;pointer-events:none;opacity:0;background:radial-gradient(circle,#fff,#efebe4);position:fixed;inset:0}.topbar{transition:opacity .5s, transform .7s var(--ease)}.warping .panel,.warping .topbar,.warping .tray{opacity:0;pointer-events:none;transition:opacity .2s ease-in,transform .32s ease-in;transform:scale(.93)}.star-names{pointer-events:none;position:fixed;inset:0}.star-names span{white-space:nowrap;letter-spacing:.02em;text-shadow:0 1px 10px #000,0 0 3px #000;opacity:0;will-change:transform;font-size:15px;font-weight:600;transition:opacity .4s;position:absolute;top:0;left:0}.files-note{color:var(--faint);padding:16px 16px 6px;font-size:12.5px}.panel.compact{border-radius:22px;width:min(292px,34vw);max-height:calc(100dvh - 104px);bottom:auto}.panel.compact .panel-head{gap:10px;padding:15px 14px 10px}.panel.compact .crumbs{min-height:0;font-size:15px}.panel.compact .search{height:36px;font-size:14px}.panel.compact .toolbar{gap:6px;min-height:0;padding:0 14px 12px}.panel.compact .toolbar .btn.primary{height:34px;padding:0 14px;font-size:13.5px}.panel.compact .toolbar .icon-btn.boxed{width:34px;height:34px}.panel.compact .toolbar [aria-label=上传整个文件夹],.panel.compact.bare .toolbar .push,.panel.compact.bare .toolbar .segmented{display:none}.empty.tiny{justify-items:center;gap:12px;min-height:0;padding:18px 10px 14px}.empty.tiny p:first-child{color:var(--dim);font-size:14px;font-weight:500}.panel.slim{width:min(372px,38vw);max-height:calc(100dvh - 104px);bottom:auto}.panel.slim .toolbar [aria-label=上传整个文件夹]{display:none}.panel.slim .panel-head{gap:11px;padding:17px 16px 10px}.panel.slim .crumbs{font-size:16px}.panel.slim .toolbar{padding:2px 16px 12px}.panel.slim .files{padding:6px 6px 12px}.panel.slim .row{grid-template-columns:22px 36px minmax(0,1fr) 36px;padding:7px 6px 7px 8px}.panel.slim .row-size,.panel.slim .row-time,.panel.slim .row-act{display:none}.panel.slim .only-narrow{display:inline}.panel.slim .row-meta{display:flex}.panel.slim .grid{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;padding:6px}.panel.compact .files{padding:6px 6px 8px}.panel.compact .files-note{padding:12px 10px 4px}.spaces{gap:1px;display:grid}.space{cursor:pointer;animation:row-in .5s var(--ease) both;animation-delay:calc(var(--i,0) * 40ms);border-radius:12px;grid-template-columns:30px minmax(0,1fr) auto 28px;align-items:center;gap:10px;padding:6px 2px 6px 8px;transition:background .15s;display:grid}.space:hover{background:color-mix(in srgb, var(--a) 13%, transparent)}.space .project-planet{width:28px}.space .project-planet.ringed:after{border-width:1.5px}.space-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;border-radius:4px;font-size:15px;font-weight:600;overflow:hidden}.space-count{color:var(--faint);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:12px}.space-more{opacity:0;width:28px;height:28px}.space:hover .space-more,.space-more:focus-visible{opacity:1}.project-planet.ringed{position:relative}.project-planet.ringed:after{content:"";border:2px solid color-mix(in srgb, var(--a) 55%, #fff);opacity:.5;border-bottom-color:#0000;border-radius:50%;position:absolute;inset:36% -26%;transform:rotate(-18deg)}.project-planet{aspect-ratio:1;background:radial-gradient(circle at 30% 27%, var(--a), var(--b) 46%, #050506 76%);border-radius:50%;width:64%;display:block;box-shadow:inset 0 0 0 1px #ffffff0d}.book-stage{z-index:62;-webkit-backdrop-filter:blur(12px)saturate(108%);backdrop-filter:blur(12px)saturate(108%);pointer-events:auto;animation:reveal .7s var(--ease) both;background:radial-gradient(110% 85% at 50% 46%,#0c0c0eb3,#000000f0);flex-direction:column;display:flex;position:fixed;inset:0}.book-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;padding:14px 14px 4px 24px;display:flex}.book-name{align-items:center;gap:4px;min-width:0;display:flex}.book-name b{text-overflow:ellipsis;white-space:nowrap;font-size:17px;font-weight:600;overflow:hidden}.book-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.book-foot{padding:6px 0 calc(16px + env(safe-area-inset-bottom));color:var(--dim);font:italic 500 18px var(--display);justify-content:center;align-items:center;gap:18px;display:flex}.book-foot span{text-align:center;font-variant-numeric:tabular-nums;min-width:90px}.book-scene{perspective:1900px;perspective-origin:50% 36%;touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:grab;flex:1;place-items:center;min-height:0;display:grid}.book-scene:active{cursor:grabbing}.book{transform-style:preserve-3d;transform:translateX(var(--shift,0px)) rotateX(calc(13deg + var(--lift,0deg) + var(--ty,0deg))) rotateY(var(--tx,0deg));transition:transform .28s var(--ease);animation:book-in .9s .1s var(--ease) both;position:relative}@keyframes book-in{0%{opacity:0;transform:translateX(var(--shift,0px)) translateY(60px) rotateX(48deg) scale(.86)}}.page{width:var(--pw);height:var(--ph);background:#f1eee7;position:absolute;top:0;overflow:hidden}.page.left{border-radius:7px 2px 2px 7px;left:0;box-shadow:-2px 0 #e2ded4,-4px 1px #d1ccc0,-6px 2px #bfb9ab,0 34px 70px -22px #000}.page.right{border-radius:2px 7px 7px 2px;left:50%;box-shadow:2px 0 #e2ded4,4px 1px #d1ccc0,6px 2px #bfb9ab,0 34px 70px -22px #000}.book.single .page.right{left:0}.page.right.hard{box-shadow:3px 1px #1d1d20,6px 3px #0a0a0b,0 40px 80px -22px #000}.page.left:after,.page.right:after{content:"";pointer-events:none;position:absolute;inset:0}.page.left:after{background:linear-gradient(270deg,#18161238,#0000 13%)}.page.right:after{background:linear-gradient(90deg,#18161238,#0000 13%)}.page.right.hard:after{background:linear-gradient(90deg,#00000073,#0000 6%)}.cast{z-index:2;pointer-events:none;opacity:0;background:linear-gradient(90deg,#0009,#0000 60%);position:absolute;inset:0}.gutter{pointer-events:none;background:#14120e59;width:2px;height:100%;margin-left:-1px;position:absolute;top:0;left:50%;transform:translateZ(1.5px)}.leaf{transform-style:preserve-3d;pointer-events:none;position:absolute;top:0;left:50%;transform:translateZ(.8px)}.book.single .leaf{left:0}.strip{height:100%;transform-style:preserve-3d;transform-origin:0;position:absolute;top:0}.face{backface-visibility:hidden;background:#f1eee7;position:absolute;inset:0;overflow:hidden}.face.back{transform:rotateY(180deg)}.shade{opacity:0;pointer-events:none;background:#000;position:absolute;inset:0}.page-face{width:var(--pw,100%);height:var(--ph,auto);font:400 calc(var(--ph,660px) / 44) / 1.72 var(--sans);color:#232326;position:relative}.page-face.paper,.page-face.blank{background:radial-gradient(130% 100% at 50% 0,#f5f2ec,#ebe7de)}.page-face.paper{padding:calc(var(--ph,660px) * .105) calc(var(--pw,480px) * .1) calc(var(--ph,660px) * .085)}.page-face.paper>header{left:10%;right:10%;top:calc(var(--ph,660px) * .047);color:#8a877f;text-overflow:ellipsis;white-space:nowrap;font-size:.76em;position:absolute;overflow:hidden}.folio{left:0;right:0;bottom:calc(var(--ph,660px) * .028);text-align:center;font:italic 500 1.02em var(--display);color:#8a877f;position:absolute}.page-face.end{color:#8a877f;place-items:center;display:grid}.flow-window{overflow:hidden}.flow{column-fill:auto;overflow-wrap:anywhere}.flow>:first-child{margin-top:0}.flow h1,.flow h2,.flow h3,.flow h4{break-after:avoid;color:#121214;margin:1.1em 0 .5em;font-weight:700;line-height:1.3}.flow h1{font-size:1.75em}.flow h2{font-size:1.36em}.flow h3{font-size:1.12em}.flow p{margin:0 0 .85em}.flow ul,.flow ol{margin:0 0 .85em;padding-left:1.35em}.flow ul{list-style:outside}.flow ol{list-style:decimal}.flow li{margin:.18em 0}.flow img{max-width:100%;max-height:calc(var(--ph,660px) * .46);break-inside:avoid;border-radius:.4em;margin:.3em auto 1em;display:block;box-shadow:0 .5em 1.4em -.5em #14120e8c}.flow pre{color:#e4e2dd;font:.8em/1.55 var(--mono);white-space:pre-wrap;break-inside:avoid;background:#151517;border-radius:.5em;margin:0 0 1em;padding:.8em 1em}.flow code{font:.86em var(--mono);background:#1e1e2217;border-radius:.3em;padding:.1em .35em}.flow pre code{background:0 0;padding:0;font-size:1em}.flow blockquote{color:#5b5a5f;break-inside:avoid;border-left:2px solid #a98a58;margin:0 0 .85em;padding-left:1em}.flow a{color:#6f5327;text-underline-offset:.15em;text-decoration:underline}.flow hr{border:0;border-top:1px solid #1e1e2233;margin:1.2em 0}.flow table{border-collapse:collapse;break-inside:avoid;width:100%;margin:0 0 1em;font-size:.9em}.flow th,.flow td{text-align:left;border-bottom:1px solid #1e1e2229;padding:.35em .5em}.page-face.cover{padding:calc(var(--ph) * .1) calc(var(--pw) * .11);color:#efece6;background:radial-gradient(120% 90% at 18% 8%,#2b2b2f,#0c0c0e 66%);flex-direction:column;justify-content:flex-end;display:flex;overflow:hidden}.page-face.cover:before{content:"";inset:calc(var(--pw) * .045);pointer-events:none;border:1px solid #c4a47080;border-radius:3px;position:absolute}.cover-planet{aspect-ratio:1;background:radial-gradient(circle at 29% 27%, var(--a), var(--b) 44%, #060607 74%);border-radius:50%;width:80%;position:absolute;top:-7%;right:-16%}.cover-planet:after{content:"";border:1.5px solid color-mix(in srgb, var(--a) 50%, #fff);opacity:.5;border-bottom-color:#0000;border-radius:50%;position:absolute;inset:40% -24%;transform:rotate(-16deg)}.cover-text{position:relative}.cover-text h2{overflow-wrap:anywhere;text-shadow:0 2px 24px #000c;margin-bottom:.4em;font-size:2.6em;font-weight:700;line-height:1.16}.cover-text p{color:#ece9e2cc;max-width:21em;font-size:1.05em;line-height:1.6}.page-face.cover footer{color:var(--gold);justify-content:space-between;gap:1em;margin-top:2.2em;font-size:.8em;display:flex;position:relative}.page-face.plate{background:#0c0c0e;place-items:center;padding:7% 7% 13%;display:grid}.page-face.plate img{object-fit:contain;border-radius:4px;max-width:100%;max-height:100%;box-shadow:0 1.2em 3em -1em #000}.page-face.plate span{text-align:center;color:#ece9e2b8;text-overflow:ellipsis;white-space:nowrap;font-size:.82em;position:absolute;bottom:6.2%;left:8%;right:8%;overflow:hidden}.page-face.plate .folio{color:#ece9e273}.page-files{gap:.3em;display:grid}.page-files li{border-bottom:1px solid #1e1e221f;align-items:center;gap:.7em;padding:.35em 0;display:flex}.page-files .kind{color:#5b5a5f;background:#1e1e2214;border-radius:.55em;width:2em;height:2em}.page-files b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:500;overflow:hidden}.page-files span{color:#8a877f;font-size:.82em}.page-dl{color:#5b5a5f;border-radius:50%;place-items:center;width:2em;height:2em;display:grid}.page-dl:hover{background:#1e1e221a}.editor-scrim{z-index:75;padding:20px}.editor{border:1px solid var(--line-strong);width:min(1180px,100%);height:min(820px,100%);animation:modal .32s var(--ease) both;background:linear-gradient(#151518f7,#09090bf7);border-radius:24px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 50px 140px -20px #000}.editor>header{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:14px 16px 14px 24px;display:flex}.editor h2{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:18px;font-weight:600;overflow:hidden}.editor-body{flex:1;grid-template-columns:1fr 1fr;min-height:0;display:grid}.editor textarea{resize:none;font:14px/1.75 var(--mono);color:var(--moon);background:#00000040;border:0;outline:none;padding:22px 24px}.editor textarea::placeholder{color:var(--faint)}.editor-preview{width:auto;height:auto;font-size:15px;overflow-y:auto;padding:28px 34px!important}@media (width<=860px){.panel.slim{width:auto;max-height:none;bottom:0}.book-bar{padding:10px 8px 0 16px}.book-actions{gap:6px}.book-scene{perspective:1500px}.editor-scrim{padding:0}.editor{border-radius:0;height:100%}.editor-body{grid-template-columns:1fr}.editor-preview{display:none}.panel.compact{border-radius:24px 24px 0 0;width:auto;max-height:none;top:60dvh;bottom:0}}@media (hover:none){.space-more{opacity:1}}
