:root{--bg:#061625;--fg:#e8f1f8;--muted:#8fa9be;--line:rgba(232,241,248,0.14);--accent:#7fd4ff}*{box-sizing:border-box}body{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--fg);font:16px/1.55 system-ui,-apple-system,Segoe UI,sans-serif}body>main{flex:1 0 auto}a{color:var(--accent)}.wrap{max-width:960px;margin:0 auto;padding:2.5rem 1.25rem 4rem}.masthead{margin-bottom:2rem}.masthead h1{margin:0 0 .25rem;font-size:1.9rem;letter-spacing:-.02em}.masthead p{margin:0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:1rem;gap:1rem}.card{display:block;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;background:rgba(255,255,255,.03)}.card:hover{border-color:var(--accent)}.card h2{margin:0 0 .35rem;font-size:1.05rem}.card p{margin:0 0 .75rem;color:var(--muted);font-size:.9rem}.card .meta{color:var(--muted);font-size:.8rem}.searchbar{display:flex;gap:.5rem;margin-bottom:1.5rem;align-items:stretch}.searchbar input{flex:1 1 auto;min-width:0;padding:.4rem .7rem;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.03);color:var(--fg);font:inherit;font-size:.9rem}.searchbar input::placeholder{color:var(--muted)}.searchbar input:focus-visible{outline:2px solid var(--accent);outline-offset:1px;border-color:transparent}.searchbar .btn{display:inline-flex;align-items:center}.empty{color:var(--muted)}.tier{border:1px solid var(--line);border-radius:8px;margin-bottom:.6rem;overflow:hidden}.tier-label{padding:.5rem .9rem;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.tier-items{display:flex;flex-wrap:wrap;gap:.5rem;padding:.85rem .9rem}.tier-empty{padding:.85rem .9rem;color:var(--muted);font-size:.85rem;font-style:italic}.item{padding:.35rem .7rem;border:1px solid var(--line);border-radius:999px;font-size:.9rem;background:rgba(0,0,0,.25)}.item a{text-decoration:none}.backlink{display:inline-block;margin-bottom:1.5rem;font-size:.9rem}.nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:rgba(0,0,0,.25)}.nav-brand{font-weight:600;text-decoration:none;color:var(--fg)}.nav-right{display:flex;align-items:center;gap:1rem;font-size:.9rem}.nav-right a{text-decoration:none}.nav-user{display:inline-flex;align-items:center;gap:.45rem;color:var(--muted)}.nav-note{color:var(--muted);font-size:.85rem;cursor:help}.avatar{border-radius:50%}.site-footer{margin-top:3rem;border-top:1px solid var(--line);background:rgba(0,0,0,.25)}.site-footer-inner{max-width:960px;margin:0 auto;padding:1rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1rem;font-size:.85rem;color:var(--muted)}.site-footer-brand{font-weight:600}.site-footer-links{display:flex;flex-wrap:wrap;gap:1rem}.site-footer-links a{color:var(--muted);text-decoration:none}.site-footer-links a:hover{color:var(--accent);text-decoration:underline}.btn{display:inline-block;padding:.4rem .85rem;border:1px solid var(--accent);border-radius:6px;background:transparent;color:var(--accent);font:inherit;font-size:.9rem;cursor:pointer;text-decoration:none}.btn:hover:not(:disabled){background:rgba(127,212,255,.12)}.btn:disabled{opacity:.45;cursor:default}.btn-quiet{border-color:var(--line);color:var(--muted)}.icon-btn{border:1px solid transparent;background:transparent;color:inherit;font:inherit;cursor:pointer;padding:.15rem .4rem;border-radius:4px;opacity:.75}.icon-btn:hover:not(:disabled){opacity:1;border-color:var(--line)}.icon-btn:disabled{opacity:.25;cursor:default}.error{color:#ff9d9d;font-size:.88rem}.hint{color:var(--muted);font-size:.85rem;margin:.2rem 0 .6rem}.form{max-width:560px}.field{display:block;margin-bottom:1.25rem;border:0;padding:0}.field>legend,.field>span{display:block;margin-bottom:.35rem;font-size:.85rem;color:var(--muted)}.field input,.field textarea{width:100%;padding:.5rem .65rem;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.3);color:var(--fg);font:inherit}.editor-bar{display:flex;align-items:center;gap:.75rem;margin:1rem 0 1.5rem;flex-wrap:wrap}.edit-tier{border:1px solid var(--line);border-radius:8px;margin-bottom:.75rem;overflow:hidden}.edit-tier-head{display:flex;align-items:center;gap:.5rem;padding:.35rem .6rem}.tier-label-input{flex:1 1;background:transparent;border:1px solid transparent;border-radius:4px;color:inherit;font:inherit;font-weight:600;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;padding:.2rem .35rem}.tier-label-input:focus{border-color:currentColor;outline:none}.tier-actions{display:flex;gap:.15rem}.edit-tier-body{padding:.6rem;display:flex;flex-direction:column;gap:.4rem;min-height:3.5rem}.edit-tier-body.is-over{background:rgba(127,212,255,.07)}.edit-item{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;padding:.3rem .45rem;border:1px solid var(--line);border-radius:6px;background:rgba(0,0,0,.3)}.edit-item.is-dragging{opacity:.35}.edit-item.is-overlay{background:var(--bg);border-color:var(--accent);padding:.4rem .8rem}.drag-handle{cursor:-webkit-grab;cursor:grab;background:transparent;border:0;color:var(--muted);font-size:1rem;padding:0 .2rem;touch-action:none}.drag-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.item-input{flex:1 1;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--fg);font:inherit;font-size:.9rem;padding:.15rem .3rem}.item-input:focus{border-color:var(--line);outline:none;background:rgba(0,0,0,.3)}.add-item-row{display:flex;align-items:center;gap:.4rem}.drop-hint{margin:.2rem .3rem;color:var(--muted);font-size:.82rem;font-style:italic}.chart-actions{display:flex;align-items:center;gap:1rem;margin-top:.9rem;flex-wrap:wrap}.like{display:inline-flex;align-items:center;gap:.4rem;font-size:.95rem}.like,.like-btn{color:var(--muted)}.like-btn{padding:.35rem .8rem;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.25);font:inherit;font-size:.95rem;cursor:pointer}.like-btn.is-liked,.like-btn:hover:not(:disabled){border-color:#ff8fa3;color:#ff8fa3}.like-btn:disabled{opacity:.6;cursor:default}.like-signin{font-size:.85rem;margin-left:.35rem}.tag-bar{max-width:960px;margin:0 auto;padding:0 1.25rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.tag-bar-label{font-size:.85rem;color:var(--muted);margin-right:.15rem}.tag-toggle{padding:.3rem .7rem;border:1px solid var(--line);border-radius:999px;background:rgba(0,0,0,.25);font:inherit;font-size:.85rem;color:var(--muted);cursor:pointer;text-decoration:line-through}.tag-toggle.is-on{text-decoration:none;color:hsl(var(--tag-hue) 85% 84%);background:hsl(var(--tag-hue) 45% 17%)}.tag-toggle.is-on,.tag-toggle:hover:not(:disabled){border-color:hsl(var(--tag-hue) 65% 58%)}.tag-toggle:disabled{cursor:default;opacity:.45}.tag-reset{background:none;border:0;padding:.3rem .2rem;font:inherit;font-size:.85rem;color:var(--accent);cursor:pointer;text-decoration:underline}.tag-manager{margin:0 0 1.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.2)}.tag-manager h2{margin:0;font-size:1rem}.tag-manager-hint{margin:.25rem 0 .7rem;color:var(--muted);font-size:.85rem}.tag-rows{flex-wrap:wrap;gap:.45rem 1rem}.tag-row,.tag-rows{display:flex;align-items:center}.tag-row{gap:.25rem;padding-left:.45rem;border-left:3px solid hsl(var(--tag-hue) 65% 58%)}.tag-row .item-input{flex:none;width:9rem}.item-input.is-bad{border-color:#ff8fa3;background:rgba(255,143,163,.08)}.item-tags{flex-basis:100%;display:flex;flex-wrap:wrap;gap:.3rem;padding:.1rem .2rem .15rem 1.45rem}.item-tags .tag-toggle{font-size:.75rem;padding:.15rem .55rem}.chart-page{padding-bottom:4rem}.chart-head{max-width:960px;margin:0 auto;padding:2.5rem 1.25rem 1.5rem}.iceberg-stage{--art-w:min(1200px,100vw);--art-h:calc(var(--art-w) * 1.3);--sky-h:calc(var(--art-h) * 0.0769);--crown-band:calc(var(--art-h) * 0.1615);--deep-span:calc(var(--art-h) * 0.4385);--keel-h:calc(var(--art-h) * 0.1615);--abyss-band:calc(var(--art-h) * 0.1615);--band-cap:calc(var(--art-h) * 0.115);--mid-band:min(calc(var(--deep-span) / var(--mid-tiers)),var(--band-cap));position:relative;isolation:isolate;overflow:hidden;min-height:var(--art-h);background:linear-gradient(180deg,#0b2337,#0a3251 8%,#072742 28%,#04182b 52%,#010a12 78%,#00060c)}.iceberg-art{position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:var(--art-w)}.waterline-label{position:absolute;z-index:1;top:23.85%;right:1.25rem;transform:translateY(-50%);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:rgba(214,238,252,.75);text-shadow:0 1px 6px rgba(0,12,22,.8)}.iceberg-column{position:relative;z-index:1;display:grid;grid-template-rows:minmax(var(--crown-band),auto);grid-auto-rows:minmax(var(--mid-band),auto);padding-top:var(--sky-h)}.iceberg-stage .tier{width:min(calc(var(--art-w) * var(--band-w)),calc(100vw - 2rem));margin-inline:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;background:transparent;border-color:transparent;text-align:center}.iceberg-stage .tier.above-water{align-self:end}.iceberg-stage .tier.abyss{margin-top:calc(var(--keel-h) + var(--deep-span) - var(--mid-count) * var(--mid-band));min-height:var(--abyss-band)}.iceberg-stage .tier-label{display:inline-block;border-radius:999px;padding:.35rem .85rem;box-shadow:0 2px 12px rgba(0,12,22,.5)}.iceberg-stage .tier-items{background:transparent;width:100%;padding:.5rem 0 .35rem;justify-content:center}.iceberg-stage .tier-empty{padding:.4rem 0}.iceberg-stage .item{background:rgba(4,18,30,.78);border-color:rgba(232,241,248,.22);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);box-shadow:0 1px 6px rgba(0,10,20,.35)}.iceberg-stage .tier.abyss .item{background:rgba(6,24,38,.86);border-color:rgba(159,208,239,.34)}@media (max-width:560px){.iceberg-stage{--art-w:calc(100vw * 1.8)}.chart-head{padding-top:1.75rem}}.topic-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin:.6rem 0 0}.topic-chips-label{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-right:.1rem}.topic-chip{padding:.18rem .6rem;border:1px solid rgba(127,212,255,.35);border-radius:999px;background:rgba(127,212,255,.08);color:var(--accent);font-size:.8rem;text-decoration:none;white-space:nowrap}a.topic-chip:hover{border-color:var(--accent);background:rgba(127,212,255,.16)}.topic-chips.is-static .topic-chip{color:var(--muted);border-color:var(--line);background:none}.topic-cloud{margin:0 0 2rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.03)}.topic-cloud-title{margin:0 0 .7rem;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.topic-cloud-entries{display:flex;flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem}.topic-cloud-entry{font-size:calc(.85rem + var(--topic-weight, 0) * .75rem);line-height:1.35;color:var(--accent);text-decoration:none;white-space:nowrap}.topic-cloud-entry:hover{text-decoration:underline}.topic-cloud-count{margin-left:.25rem;font-size:.7rem;color:var(--muted);vertical-align:super}.picker{margin:0 0 1.25rem;padding:.85rem 1rem;border:1px solid var(--line);border-radius:8px;background:rgba(0,0,0,.2)}.picker legend{padding:0 .35rem;font-weight:600;font-size:1rem}.picker .hint{margin:.25rem 0 .7rem;color:var(--muted);font-size:.85rem}.visibility-picker-options{display:grid;grid-gap:.4rem;gap:.4rem}.visibility-option{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--muted)}.visibility-option input{margin:.2rem 0 0;accent-color:var(--accent);cursor:inherit}.visibility-option.is-on{color:var(--fg);border-color:rgba(127,212,255,.55);background:rgba(127,212,255,.12)}.visibility-option:hover{border-color:var(--accent)}.visibility-option-text{display:flex;flex-direction:column;gap:.1rem}.visibility-option-hint{font-size:.82rem;color:var(--muted)}.layout-picker-options{display:grid;grid-gap:.4rem;gap:.4rem}.layout-option{display:flex;align-items:flex-start;gap:.55rem;padding:.5rem .7rem;border:1px solid var(--line);border-radius:8px;cursor:pointer;color:var(--muted)}.layout-option input{margin:.2rem 0 0;accent-color:var(--accent);cursor:inherit}.layout-option.is-on{color:var(--fg);border-color:rgba(127,212,255,.55);background:rgba(127,212,255,.12)}.layout-option:hover{border-color:var(--accent)}.layout-option-text{display:flex;flex-direction:column;gap:.1rem}.layout-option-hint{font-size:.82rem;color:var(--muted)}.layout-warning{margin:.7rem 0 0;padding:.5rem .7rem;border-left:3px solid #f2c66d;border-radius:4px;background:rgba(242,198,109,.08);font-size:.85rem;color:var(--muted)}.topic-picker-options{display:flex;flex-wrap:wrap;gap:.4rem}.topic-option{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .65rem .25rem .5rem;border:1px solid var(--line);border-radius:999px;font-size:.85rem;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.topic-option input{margin:0;accent-color:var(--accent);cursor:inherit}.topic-option.is-on{color:var(--fg);border-color:rgba(127,212,255,.55);background:rgba(127,212,255,.12)}.topic-option:hover:not(.is-blocked){border-color:var(--accent)}.topic-option.is-blocked{opacity:.4;cursor:default}.chart-badge{display:inline-block;margin:0 0 .5rem;padding:.1rem .5rem;border:1px solid var(--line);border-radius:999px;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--muted)}.chart-badge-unlisted{color:#f2c66d;border-color:rgba(242,198,109,.5)}.chart-badge-private{color:#ff9d9d;border-color:rgba(255,157,157,.5)}.chart-state{margin:0 0 .9rem;padding:.6rem .8rem;border:1px solid var(--line);border-left-width:3px;border-radius:6px;background:rgba(0,0,0,.25);font-size:.9rem;color:var(--muted)}.chart-state strong{color:var(--fg)}.chart-state a{color:var(--accent)}.chart-state-unlisted{border-left-color:#f2c66d}.chart-state-private{border-left-color:#ff9d9d}.legal{max-width:44rem}.legal h2{margin:2.25rem 0 .6rem;font-size:1.15rem;letter-spacing:-.01em}.legal p,.legal ul{margin:0 0 .9rem}.legal ul{padding-left:1.25rem}.legal li{margin-bottom:.4rem}.legal code{padding:.1rem .3rem;border-radius:4px;background:rgba(0,0,0,.35);font-size:.9em}.legal-footer{margin-top:2.5rem;padding-top:1rem;border-top:1px solid var(--line);color:var(--muted);font-size:.9rem}.placeholder-notice{display:block;margin:0 0 2rem;padding:.9rem 1.1rem;border:1px solid rgba(255,196,90,.45);border-left-width:4px;border-radius:6px;background:rgba(255,196,90,.09);color:#ffdca8;font-size:.9rem}.placeholder-notice strong{color:#ffc45a}.card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.btn-danger{border-color:var(--line);color:var(--muted)}.btn-danger:hover:not(:disabled){border-color:#ff8a8a;color:#ff8a8a;background:rgba(255,138,138,.1)}.confirm-delete{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.5rem}.confirm-delete-q{color:#ff8a8a;font-size:.85rem}.confirm-delete .btn-danger{border-color:#ff8a8a;color:#ff8a8a}.pagination{display:flex;align-items:center;justify-content:center;gap:1rem;margin-top:2rem}.pagination-page{color:var(--muted);font-size:.85rem}.btn.is-disabled{opacity:.35;cursor:default}.compact-list{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 3rem}.compact-tier{margin:0 0 1.6rem}.compact-tier-label{display:flex;align-items:baseline;gap:.6rem;margin:0 0 .5rem;padding-bottom:.35rem;border-bottom:1px solid var(--line);font-size:1.05rem;letter-spacing:-.01em}.compact-tier-index{flex:none;min-width:1.5rem;padding:.05rem .4rem;border-radius:4px;background:rgba(127,212,255,.12);color:var(--accent);font-size:.78rem;font-weight:700;text-align:center}.compact-items{display:grid;grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));grid-gap:.1rem 1.25rem;gap:.1rem 1.25rem;margin:0;padding-left:1.1rem}.compact-items li{margin:.15rem 0;line-height:1.45}.compact-items a{color:var(--accent)}.compact-empty{margin:.2rem 0;color:var(--muted);font-style:italic}.compact-overflow{margin:1.5rem 0 0;padding:.6rem .8rem;border:1px dashed var(--line);border-radius:6px;color:var(--muted);font-size:.88rem}body:has(.chart-page-poster){height:100svh;min-height:0;overflow:hidden}body:has(.chart-page-poster)>.chart-page-poster{flex:1 1;min-height:0}.chart-page-poster{display:flex;flex-direction:column;padding-bottom:0;overflow:hidden}.chart-page-poster .chart-head,.chart-page-poster .poster-overflow,.chart-page-poster .tag-bar{flex:0 0 auto}.chart-page-poster .chart-head{padding-top:1.1rem;padding-bottom:.5rem}.chart-page-poster .masthead{margin-bottom:0}.chart-page-poster .backlink{margin-bottom:.55rem}.chart-page-poster .tag-bar{padding-bottom:.5rem}.poster-stage{flex:1 1;min-height:0;display:flex;padding:0 1rem 1rem;container-type:size}.poster-frame{width:min(100cqw,calc(100cqh * var(--poster-ratio)));height:min(100cqh,calc(100cqw / var(--poster-ratio)));flex:none;margin:auto;position:relative;container-type:inline-size;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px rgba(0,0,0,.45);--poster-fs:1.72cqw}.poster-art{position:absolute;inset:0;width:100%;height:100%;display:block}.poster-slot{position:absolute;left:50%;transform:translateX(-50%);top:calc(var(--slot-top) * 100%);height:calc(var(--slot-h) * 100%);width:calc(var(--slot-w) * 100%);display:flex;flex-direction:row;align-items:center;justify-content:flex-start;gap:.7em;font-size:var(--poster-fs);overflow:hidden}.poster-tier-label{margin:0;flex:0 0 27%;text-align:right;padding:.25em .7em;border-radius:999px;font-size:1.06em;line-height:1.2;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:hsl(202 68% calc(32% - var(--slot-depth) * 20%));color:#eaf6ff}.poster-items{margin:0;padding:0;list-style:none;flex:1 1 auto;min-width:0;display:flex;flex-wrap:wrap;justify-content:flex-start;align-content:center;gap:.35em .5em;overflow:hidden}.poster-item{max-width:100%;padding:.28em .7em;border-radius:999px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:hsl(202 62% calc(25% - var(--slot-depth) * 13%));color:#eaf6ff}.poster-item a{color:#cfeaff;text-decoration:none}.poster-item a:hover{text-decoration:underline}.poster-empty{margin:0;font-style:italic;color:#c6dcec}.poster-overflow{max-width:960px;margin:0 auto;padding:.45rem 1.25rem .8rem;color:var(--muted);font-size:.85rem;text-align:center}@media (max-width:560px){.poster-frame{width:46rem;height:calc(46rem / var(--poster-ratio))}.poster-stage{overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y pinch-zoom}}