:root{--bg: #fff9f0;--bg-soft: #fff3e2;--ink: #23203a;--ink-soft: #5f5a78;--coral: #ff6b5b;--yellow: #ffc53d;--teal: #00b8a9;--lilac: #8b7ff0;--line: rgba(35, 32, 58, .14);--font-display: "Fraunces", georgia, serif;--font-body: "Space Grotesk", system-ui, sans-serif}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-body);line-height:1.55;-webkit-font-smoothing:antialiased;min-height:100svh;display:flex;flex-direction:column}::selection{background:var(--yellow);color:var(--ink)}a{color:inherit;text-decoration:none}.accent{color:var(--coral)}.mono{font-size:.7rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.grain{position:fixed;top:-50%;right:-50%;bottom:-50%;left:-50%;width:200%;height:200%;pointer-events:none;z-index:50;opacity:.5;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.14 0 0 0 0 0.12 0 0 0 0 0.23 0 0 0 0.04 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.links-nav{display:flex;justify-content:space-between;align-items:center;padding:1.1rem clamp(1.1rem,4vw,2rem);max-width:680px;margin:0 auto;width:100%}.nav-logo{font-family:var(--font-display);font-weight:600;font-size:1.3rem}.links-back{border:1px solid var(--line);border-radius:100px;padding:.5em 1em;transition:border-color .25s ease,color .25s ease}.links-back:hover{border-color:var(--coral);color:var(--coral)}.links-main{width:100%;max-width:680px;margin:0 auto;flex:1;padding:clamp(1rem,4vh,2.5rem) clamp(1.1rem,4vw,2rem) 3rem}.links-crumb{margin-bottom:.9rem;overflow-wrap:anywhere}.links-crumb a{color:var(--ink-soft)}.links-crumb a:hover,.links-crumb a:focus-visible{color:var(--coral)}.links-crumb .here{color:var(--coral)}.links-title{font-family:var(--font-display);font-weight:560;font-size:clamp(2.4rem,9vw,3.6rem);letter-spacing:-.02em;line-height:1;overflow-wrap:anywhere}.links-tagline{color:var(--ink-soft);margin:.7rem 0 1.8rem;max-width:46ch}.links-tagline[hidden]+#tree{margin-top:1.8rem}.head-hero{position:relative;overflow:hidden;height:clamp(110px,24vw,170px);border-radius:14px;margin-bottom:1.4rem;background:var(--bg-soft)}.head-hero img{width:100%;height:100%;object-fit:cover;display:block}.head-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to bottom,#0000,#000000b3)}.head-hero .hero-t{position:absolute;left:1rem;right:1rem;bottom:.7rem;z-index:1;color:#fff9f0;font-family:var(--font-display);font-weight:560;font-size:clamp(1.5rem,6vw,2.2rem);letter-spacing:-.02em;line-height:1.1;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.folder-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.9rem;margin-bottom:1.4rem}.folder-grid.single{grid-template-columns:1fr}.folder-card{display:flex;flex-direction:column;background:#fffdf8;border:1px solid var(--line);border-radius:14px;overflow:hidden;outline:none;transition:border-color .25s ease,box-shadow .25s ease}.folder-card:hover,.folder-card:focus-visible{border-color:var(--coral);box-shadow:0 6px 18px #23203a12}.folder-card .img-wrap{aspect-ratio:16 / 9;overflow:hidden;background:linear-gradient(120deg,var(--bg-soft),#ffe9c9)}.folder-grid.single .img-wrap{aspect-ratio:21 / 9}.folder-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s cubic-bezier(.22,1,.36,1)}.folder-card:hover img,.folder-card:focus-visible img{transform:scale(1.04)}.folder-card .meta{display:flex;flex-direction:column;gap:.1rem;padding:.65rem .85rem .8rem}.folder-card .t{font-family:var(--font-display);font-weight:550;font-size:clamp(1.02rem,3.4vw,1.25rem);letter-spacing:-.01em;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.folder-card:hover .t,.folder-card:focus-visible .t{color:var(--coral)}.link-row{display:flex;align-items:center;gap:.8rem;padding:.9rem .2rem;border-bottom:1px solid var(--line);transition:background .2s ease}.link-row:hover,.link-row:focus-visible{background:var(--bg-soft)}.link-row .dot{width:9px;height:9px;border-radius:50%;flex:none}.link-row .lt{flex:1;min-width:0}.link-row .t{font-weight:600;font-size:.98rem;overflow-wrap:anywhere}.link-row .d{font-size:.72rem;color:var(--ink-soft);letter-spacing:.06em;overflow-wrap:anywhere}.link-row .arrow{color:var(--coral);flex:none}.links-empty{padding:2rem 0}.links-footer{display:flex;gap:.6rem;justify-content:center;padding:1.2rem;border-top:1px solid var(--line)}.links-footer a:hover{color:var(--coral)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--coral);outline-offset:2px;border-radius:4px}.fade-in{animation:fadein .45s ease both}@keyframes fadein{0%{opacity:0;transform:translateY(10px)}}@media(prefers-reduced-motion:reduce){.fade-in{animation:none}}.admin-main{width:100%;max-width:680px;margin:0 auto;flex:1;padding:1.2rem clamp(1.1rem,4vw,2rem) 3rem}.admin-title{font-family:var(--font-display);font-weight:560;font-size:2rem;letter-spacing:-.02em;margin-bottom:.3rem}.admin-sub{color:var(--ink-soft);font-size:.9rem;margin-bottom:1.6rem}.field{margin-bottom:1rem}.field label{display:block;margin-bottom:.35rem}.field input{width:100%;padding:.75rem .9rem;border:1px solid var(--line);border-radius:10px;background:#fffdf8;color:var(--ink);font-family:var(--font-body);font-size:.95rem}.field input:focus{border-color:var(--coral);outline:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;background:var(--ink);color:var(--bg);border:none;border-radius:100px;cursor:pointer;padding:.7em 1.5em;font-family:var(--font-body);font-weight:600;font-size:.9rem;transition:background .25s ease}.btn:hover{background:var(--coral)}.btn.ghost{background:none;color:var(--ink);border:1px solid var(--line)}.btn.ghost:hover{border-color:var(--coral);color:var(--coral)}.btn.danger:hover{background:#c0392b}.btn:disabled{opacity:.5;cursor:default}.admin-bar{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;margin:1rem 0 1.4rem}.admin-status{font-size:.8rem;color:var(--teal);min-height:1.2em}.admin-status.err{color:#c0392b}.tree-node{display:flex;align-items:center;gap:.5rem;padding:.55rem .4rem;border-bottom:1px solid var(--line)}.tree-node .icon{flex:none;font-size:.8rem}.tree-node .name{flex:1;min-width:0;font-weight:600;font-size:.9rem;overflow-wrap:anywhere}.tree-node .name small{display:block;font-weight:400;color:var(--ink-soft);font-size:.7rem;overflow-wrap:anywhere}.tree-node .ops{display:flex;gap:.3rem;flex:none}.tree-node .ops button{border:1px solid var(--line);background:#fffdf8;color:var(--ink);border-radius:7px;padding:.25rem .5rem;cursor:pointer;font-size:.75rem;font-family:var(--font-body)}.tree-node .ops button:hover{border-color:var(--coral);color:var(--coral)}dialog{border:1px solid var(--line);border-radius:16px;background:var(--bg);color:var(--ink);padding:1.4rem;width:min(440px,92vw);font-family:var(--font-body)}dialog::backdrop{background:#23203a73}dialog h2{font-family:var(--font-display);font-weight:550;font-size:1.3rem;margin-bottom:1rem}dialog .row{display:flex;gap:.6rem;justify-content:flex-end;margin-top:1.2rem}dialog .img-preview{width:100%;height:110px;object-fit:cover;border-radius:10px;background:var(--bg-soft);margin-top:.4rem}
