.app{padding:16px 20px;font-size:var(--fs-md);line-height:1.6;color:var(--text)}.app h1,.app h2,.app h3,.app h4{color:var(--accent-bright);margin:.8em 0 .4em;letter-spacing:.5px;font-family:var(--font-display);font-weight:500}.app h1{font-size:var(--fs-xl)}.app h2{font-size:var(--fs-lg)}.app h3{font-size:var(--fs-md);color:var(--accent)}.app b,.app strong{font-family:var(--font-display);font-weight:700}.app p{margin:.6em 0}.app a{border-bottom:1px dotted var(--accent-cyan)}.app code{font-family:var(--font-mono);background:var(--bg-deep);color:var(--accent-cyan);padding:1px 4px;font-size:.9em}.app pre{background:var(--bg-deep);padding:10px 12px;margin:.8em 0;overflow-x:auto;border-left:2px solid var(--accent-torch)}.app pre code{background:0 0;color:var(--text);padding:0}.app ol,.app ul{margin:.6em 0;padding-left:24px}.app li{margin:.2em 0}.app blockquote{border-left:2px solid var(--accent-cyan);padding-left:12px;margin:.8em 0;color:var(--text-dim)}.app hr{border:0;border-top:1px dashed var(--text-dim);margin:1.2em 0}.app img{max-width:100%;margin:.8em 0;border:1px solid var(--metal-edge)}.app .about-header{display:block;width:100%;max-width:460px;margin:0 auto 1.2em;border:0}.app .web-badge{display:flex;align-items:center;gap:14px;margin:1em 0}.app .web-badge img{image-rendering:pixelated;border:1px solid var(--metal-edge);margin:0}.app .badge-copy{display:inline-flex;align-items:center;gap:6px;background:0 0;border:1px solid var(--metal-4);border-radius:var(--r-sm);padding:4px 10px;font-family:var(--font-mono);font-size:var(--fs-sm);color:var(--accent-bright);cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.app .badge-copy::before{content:"[ copy ]";color:var(--accent);font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase}.app .badge-copy:hover{color:var(--text-bright);border-color:var(--accent-bright);background:rgba(174,155,198,.08)}.app .badge-copy:hover::before{color:var(--accent-bright)}.app .badge-copy.copied{color:var(--orb-green);border-color:var(--orb-green-dim);background:rgba(52,255,102,.06)}.app .badge-copy.copied::before{color:var(--orb-green);content:"[ ok ]"}.app table{border-collapse:collapse;margin:.8em 0;font-size:var(--fs-sm)}.app td,.app th{border:1px solid var(--metal-4);padding:4px 8px;text-align:left}.app th{background:var(--metal-edge);color:var(--accent-cyan)}.app .meta{font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:1px;text-transform:uppercase;margin-bottom:1em}.app .page-intro{margin:-.2em 0 1.4em;color:var(--text-dim);font-size:var(--fs-sm);line-height:1.5}.app .ascii-art{white-space:pre;font-size:var(--fs-sm);line-height:1.1;color:var(--accent-torch);margin:.8em 0}.notes-list{display:flex;flex-direction:column;gap:4px;padding:0;list-style:none}.notes-list li button{width:100%;text-align:left;padding:8px 12px;border:1px solid transparent;border-left:2px solid var(--metal-edge);background:var(--bg-deep);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-sm);display:flex;justify-content:space-between;gap:12px}.notes-list li button:hover{border-color:var(--accent-cyan);color:var(--accent-cyan)}.notes-list .date{color:var(--text-dim);font-size:var(--fs-xs)}.bookmarks-cat{margin-bottom:1.2em}.bookmarks-cat h3{font-size:var(--fs-sm);color:var(--accent-torch);letter-spacing:1.5px;text-transform:uppercase;border-bottom:1px dashed var(--metal-4);padding-bottom:4px;margin-bottom:.6em}.bookmarks-item{display:flex;flex-direction:column;padding:6px 8px;border-left:2px solid transparent;margin-bottom:2px}.bookmarks-item:hover{border-color:var(--accent);background:rgba(174,155,198,.06)}.bookmarks-item .note{font-size:var(--fs-xs);color:var(--text-dim)}.bookmarks-item a{border-bottom:none;color:var(--text);display:inline-flex;align-items:center;gap:.4em;width:fit-content}.bookmarks-item:hover a{color:var(--accent-cyan)}.bookmarks-item .bm-link-icon{width:.8em;height:.8em;flex:none;color:var(--text-dim);transform:translateY(-.05em);transition:color .15s ease,transform .15s ease}.bookmarks-item:hover .bm-link-icon{color:var(--accent-cyan);transform:translateY(-.05em) translate(1px,-1px)}.wallpaper-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.wallpaper-card{background:var(--bg-deep);border:1px solid var(--metal-edge);display:flex;flex-direction:column;overflow:hidden}.wallpaper-card.active{border-color:var(--accent-cyan);box-shadow:0 0 0 1px var(--accent-cyan)}.wallpaper-card .thumb{width:100%;aspect-ratio:16/9;background-size:cover;background-position:center;cursor:inherit}.wallpaper-card .row{display:flex;justify-content:space-between;align-items:center;padding:4px 8px;background:var(--metal-edge);font-size:var(--fs-xs);gap:4px}.wallpaper-card .row .name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wallpaper-card .row button{color:var(--accent-cyan);padding:0 4px}.wallpaper-card .row button:hover{color:var(--accent-torch)}.tutorials-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tutorials-card{background:var(--bg-deep);border:1px solid var(--metal-edge)}.tutorials-card iframe{width:100%;aspect-ratio:16/9;border:0}.tutorials-card .title{padding:6px 8px;font-size:var(--fs-sm)}.tutorials-empty{padding:12px;background:var(--bg-deep);border-left:2px solid var(--accent-torch);color:var(--text-dim);font-size:var(--fs-sm)}.media-app{--media-aside-w:38%;position:relative;display:grid;grid-template-columns:minmax(220px,var(--media-aside-w)) 6px minmax(0,1fr);grid-template-areas:"head    head    head" "aside   handle  library";gap:14px 12px;padding:16px 20px;min-height:100%}.media-app.is-resizing{user-select:none}.media-app.is-resizing *{pointer-events:none}.media-app.is-resizing .media-handle{pointer-events:auto}.media-head{grid-area:head;display:flex;align-items:baseline;justify-content:space-between;gap:12px;border-bottom:1px solid var(--metal-edge);padding-bottom:6px}.media-aside{grid-area:aside;position:sticky;top:16px;align-self:start;display:flex;flex-direction:column;gap:8px}.media-library{grid-area:library;display:flex;flex-direction:column;gap:12px;min-width:0}.media-handle{grid-area:handle;align-self:stretch;position:relative;cursor:col-resize;touch-action:none}.media-handle::before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translateX(-50%);background:var(--metal-edge);border-radius:2px;transition:background .15s ease,width .15s ease}.media-handle.is-dragging::before,.media-handle:hover::before{background:var(--accent);width:4px}@container (max-width:480px){.media-app{grid-template-columns:1fr;grid-template-areas:"head" "aside" "library"}.media-aside{position:static}.media-player{max-width:480px;margin:0 auto}.media-handle{display:none}}.media-head h1{margin:0;color:var(--accent-bright);font-family:var(--font-display);font-weight:500;font-size:var(--fs-xl);letter-spacing:.5px}.media-head .media-count{font-size:var(--fs-xs);color:var(--text-dim);letter-spacing:1.5px;text-transform:uppercase}.media-filters{display:inline-flex;align-self:flex-start;background:var(--bg-deep);border:1px solid var(--metal-edge);border-radius:var(--r-md);box-shadow:var(--bevel-inset);padding:2px;gap:2px}.media-filters button{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);background:0 0;border:0;padding:6px 14px;border-radius:var(--r-sm);cursor:inherit;transition:color .15s ease}.media-filters button:hover{color:var(--text)}.media-filters button[aria-pressed=true]{background:var(--metal-face);color:var(--accent-bright);box-shadow:var(--bevel-raised)}.media-player{position:relative;width:100%;aspect-ratio:16/9;background:#000;border:1px solid var(--metal-edge);border-radius:var(--r-md);overflow:hidden}.media-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.media-player-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:2px;text-transform:uppercase;background:radial-gradient(ellipse at center,rgba(174,155,198,.1),transparent 70%),var(--bg-deep)}.media-caption{display:flex;gap:14px;align-items:baseline;justify-content:space-between;font-size:var(--fs-xs);color:var(--text-dim);padding:0 2px;min-height:1.2em;flex-wrap:wrap}.media-caption[hidden]{display:none}.media-caption .now{color:var(--accent-torch);letter-spacing:1.5px;text-transform:uppercase;margin-right:8px}.media-caption .title{color:var(--text);font-size:var(--fs-sm);letter-spacing:.3px}.media-caption a{color:var(--accent-cyan);border-bottom:1px dotted var(--accent-cyan)}.media-grid{display:grid;gap:12px}.media-grid.is-video-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}.media-grid.is-audio-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.media-card{background:var(--bg-deep);border:1px solid var(--metal-edge);border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.media-card:hover{border-color:var(--accent-torch)}.media-card.is-active{border-color:var(--accent-cyan);box-shadow:0 0 0 1px var(--accent-cyan),0 0 14px rgba(0,240,255,.18)}.media-card.is-video{display:flex;flex-direction:column}.media-card.is-video .thumb{position:relative;width:100%;aspect-ratio:16/9;background:#000 center/cover no-repeat}.media-card.is-video .thumb::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent-bright);font-size:30px;text-shadow:0 0 8px rgba(0,0,0,.7);opacity:0;transition:opacity .15s ease,transform .15s ease}.media-card.is-video.is-active .thumb::after,.media-card.is-video:hover .thumb::after{opacity:.95;transform:scale(1.05)}.media-card.is-video .text{padding:7px 10px 9px}.media-card.is-video .title{color:var(--accent-bright);font-family:var(--font-display);font-weight:500;font-size:var(--fs-md);line-height:1.18;margin:0 0 2px}.media-card.is-video .meta{color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card.is-audio{display:flex;flex-direction:column}.media-card.is-audio .thumb{position:relative;width:100%;aspect-ratio:16/9;background:#000 center/cover no-repeat}.media-card.is-audio .thumb::after{content:"▶";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--accent-bright);font-size:22px;text-shadow:0 0 6px rgba(0,0,0,.7);opacity:0;transition:opacity .15s ease,transform .15s ease}.media-card.is-audio.is-active .thumb::after,.media-card.is-audio:hover .thumb::after{opacity:.95;transform:scale(1.06)}.media-card.is-audio .text{padding:5px 8px 7px;min-width:0}.media-card.is-audio .title{color:var(--text);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.25;margin:0 0 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-card.is-audio .meta{color:var(--text-dim);font-size:var(--fs-xs);letter-spacing:.4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.media-app.filter-audio .media-grid.is-video-grid,.media-app.filter-video .media-grid.is-audio-grid{display:none}.media-app.is-gated>:not(.media-overlay){display:none}.media-overlay{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px;background:radial-gradient(ellipse at center,rgba(7,8,12,.78),rgba(7,8,12,.96) 70%),var(--bg-deep);text-align:center;font-family:var(--font-mono)}.media-overlay .head{font-family:var(--font-display);font-weight:500;font-size:var(--fs-lg);color:var(--accent-bright);letter-spacing:1px;text-transform:uppercase}.media-overlay .body{font-size:var(--fs-sm);color:var(--text-dim);line-height:1.55;max-width:52ch;margin:0}.media-overlay .body b{color:var(--text);font-weight:700}.media-overlay .accept{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:2px;text-transform:uppercase;color:var(--text-bright);background:var(--metal-face);box-shadow:var(--bevel-raised);border-radius:var(--r-sm);padding:9px 24px;border:0;cursor:inherit;transition:filter .15s ease}.media-overlay .accept:hover{filter:brightness(1.18)}.media-overlay .accept:active{box-shadow:var(--bevel-pressed)}.guestbook{max-width:640px;margin:0 auto}.guestbook .gb-intro{color:var(--text-dim);font-size:var(--fs-sm);margin-bottom:16px}.gb-form{background:var(--bg-panel);box-shadow:var(--bevel-raised);border-radius:var(--r-md);padding:12px;margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.gb-row{position:relative}.gb-msg,.gb-name{width:100%;background:var(--bg-deep);color:var(--text);font-family:var(--font-mono);font-size:var(--fs-md);border:1px solid var(--metal-edge);border-radius:var(--r-sm);box-shadow:var(--bevel-inset);padding:7px 9px;outline:0}.gb-msg::placeholder,.gb-name::placeholder{color:var(--text-dim)}.gb-msg:focus,.gb-name:focus{border-color:var(--accent)}.gb-msg{resize:vertical;min-height:56px}.gb-count{position:absolute;right:8px;bottom:6px;font-size:var(--fs-xs);color:var(--text-dim);pointer-events:none}.gb-actions{display:flex;align-items:center;gap:12px}.gb-submit{font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:1.5px;text-transform:uppercase;color:var(--text-bright);background:var(--metal-face);box-shadow:var(--bevel-raised);border-radius:var(--r-sm);padding:6px 18px;transition:filter var(--t-fast)}.gb-submit:hover{filter:brightness(1.12)}.gb-submit:active{box-shadow:var(--bevel-pressed)}.gb-submit:disabled{opacity:.5;filter:none}.gb-status{font-size:var(--fs-xs);color:var(--text-dim)}.gb-status.ok{color:var(--accent-bright)}.gb-status.err{color:var(--danger)}.gb-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.gb-wallhead{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--metal-edge);padding-bottom:4px;margin-bottom:10px}.gb-walltitle{font-size:var(--fs-xs);letter-spacing:2px;text-transform:uppercase;color:var(--accent)}.gb-refresh{font-family:var(--font-mono);font-size:var(--fs-xs);letter-spacing:1px;text-transform:uppercase;color:var(--text-dim);padding:2px 8px;border-radius:var(--r-xs);box-shadow:var(--bevel-raised);background:var(--bg-stone)}.gb-refresh:hover{color:var(--accent-bright)}.gb-wall{display:flex;flex-direction:column;gap:8px}.gb-empty{color:var(--text-dim);font-size:var(--fs-sm);padding:16px 4px}.gb-entry{background:var(--bg-deep);box-shadow:var(--bevel-inset);border-radius:var(--r-sm);padding:9px 11px}.gb-entry-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:4px}.gb-entry-name{color:var(--accent);font-size:var(--fs-sm);font-weight:700;letter-spacing:.5px}.gb-entry-time{color:var(--text-dim);font-size:var(--fs-xs);white-space:nowrap}.gb-entry-msg{color:var(--text);font-size:var(--fs-md);line-height:1.5;white-space:pre-wrap;word-break:break-word}.gb-notice{background:var(--bg-panel);box-shadow:var(--bevel-inset);border-radius:var(--r-md);padding:16px;color:var(--text);font-size:var(--fs-sm)}.gb-notice-dim{color:var(--text-dim);margin-top:8px}.app-loading{padding:24px;color:var(--text-dim);font-size:var(--fs-sm);text-align:center}.app-error{padding:16px;color:var(--danger);font-size:var(--fs-sm);border-left:2px solid var(--danger);background:rgba(255,77,77,.05)}.coll-section{margin-top:1.6em}.coll-section:first-of-type{margin-top:.4em}.coll-count{display:inline-block;margin-left:.5em;padding:0 .5em;border:1px solid var(--metal-edge);border-radius:var(--r-sm);background:var(--bg-deep);color:var(--text-dim);font-size:var(--fs-sm);vertical-align:middle}.coll-empty{color:var(--text-dim);font-size:var(--fs-sm);line-height:1.5;font-style:italic}.collection-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:12px;margin-top:.8em}.trash-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:8px;border:1px solid var(--metal-edge);border-radius:var(--r-md);background:var(--bg-deep)}.trash-card-art{display:flex;align-items:center;justify-content:center;aspect-ratio:1/1;width:100%;padding:0;border:1px solid transparent;background:radial-gradient(ellipse at 50% 40%,rgba(174,155,198,.1),transparent 70%),var(--bg-view);border-radius:var(--r-sm);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .1s}.trash-card-art:hover{border-color:var(--accent-dim)}.trash-card-art:active{transform:scale(.97)}.trash-card-art img{max-width:100%;max-height:100%;image-rendering:pixelated;pointer-events:none}.coll-lightbox{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center}.coll-lightbox[hidden]{display:none}.lb-backdrop{position:absolute;inset:0;background:rgba(5,6,12,.86);backdrop-filter:blur(2px);cursor:zoom-out}.lb-figure{position:relative;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;gap:10px;max-width:78%;max-height:84%;pointer-events:none}.lb-img{max-width:100%;max-height:70vh;image-rendering:pixelated;filter:drop-shadow(0 0 24px rgba(174, 155, 198, .25))}.lb-close,.lb-nav{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;border:1px solid var(--metal-edge);border-radius:var(--r-sm);background:rgba(10,11,18,.7);color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.lb-close:hover,.lb-nav:hover{color:var(--accent-bright);border-color:var(--accent-dim);background:rgba(174,155,198,.12)}.lb-close{top:12px;right:12px;width:32px;height:32px}.lb-close svg{width:18px;height:18px}.lb-nav{top:50%;transform:translateY(-50%);width:34px;height:46px}.lb-nav svg{width:22px;height:22px}.lb-prev{left:12px}.lb-next{right:12px}.trash-actions{position:absolute;left:8px;right:8px;bottom:8px;display:flex;gap:4px;opacity:0;pointer-events:none;transform:translateY(4px);transition:opacity .15s,transform .15s}.trash-card:focus-within .trash-actions,.trash-card:hover .trash-actions{opacity:1;pointer-events:auto;transform:translateY(0)}.throwback,.trash-dl{border:1px solid var(--metal-edge);border-radius:var(--r-sm);background:rgba(10,11,18,.82);color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s,background .15s}.throwback{flex:1;font-family:var(--font-mono);font-size:var(--fs-xs);padding:4px 6px}.trash-dl{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:26px}.trash-dl svg{width:14px;height:14px;pointer-events:none}.throwback:hover,.trash-dl:hover{color:var(--accent-bright);border-color:var(--accent-dim);background:rgba(174,155,198,.14)}.trash-card.thrown-back .trash-card-art{filter:grayscale(1) brightness(.55);opacity:.5}.trash-card.thrown-back .throwback{color:var(--accent);border-color:var(--accent-dim)}.trash-card.thrown-back .throwback:hover{color:var(--accent-bright);background:rgba(174,155,198,.12)}