/* Chengyu Island: original editorial layout, native controls, bounded motion. */
:root{--space-section:38px;--reading-measure: 70ch;--ease-enter:cubic-bezier(.16,1,.3,1);--ease-exit:cubic-bezier(.4,0,1,1);--ease-ui:cubic-bezier(.2,.7,.2,1)}
html[data-layout-width=balanced] .site-main.container,html[data-layout-width=balanced] .header-inner{max-width:1320px}
html[data-layout-width=wide] .container{width:min(1480px,calc(100% - 64px))}
html[data-layout-width=focused] .container{width:min(1120px,calc(100% - 48px))}
html[data-layout-style=island]{--muted:#637980;--line:#e3edef;--shadow:0 2px 3px rgba(24,59,66,.018),0 10px 28px rgba(24,59,66,.035)}
html[data-layout-style=island][data-mode=dark]{--muted:#a2b7be;--line:#2e424c;--shadow:0 6px 20px rgba(0,0,0,.13)}
html[data-layout-style=island] body{font-size:14px;line-height:1.75}
html[data-layout-style=island] .site-header{background:rgba(var(--surface-rgb),.91);border-bottom:1px solid var(--line)}
html[data-layout-style=island] .site-main{padding-top:26px}
html[data-layout-style=island] .section{margin-bottom:var(--space-section)}
html[data-layout-style=island] .section-heading{margin-bottom:19px;gap:16px;align-items:center}
html[data-layout-style=island] .section-heading h2{font-size:21px;letter-spacing:.005em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
html[data-layout-style=island] .section-heading h2:before{content:"";width:5px;height:20px;border-radius:8px;background:var(--accent);flex-shrink:0}
html[data-layout-style=island] .section-heading h2 small{font-family:var(--font);font-size:9px;font-weight:500;letter-spacing:.13em;color:var(--muted);margin:0}
html[data-layout-style=island] .main-grid{grid-template-columns:minmax(0,1fr) 276px;gap:26px;align-items:start}
html[data-layout-style=island] .main-grid.no-sidebar{grid-template-columns:minmax(0,1fr)}
html[data-layout-style=island] .card-grid{gap:20px}
html[data-layout-style=island] .content-card{overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:var(--surface);border-radius:calc(var(--radius)*.8);transition:transform var(--duration) var(--curve),box-shadow var(--duration) var(--curve),border-color 180ms var(--ease-ui)}
html[data-layout-style=island] .card-cover{aspect-ratio:16/10;overflow:hidden}
html[data-layout-style=island] .card-cover img{width:100%;height:100%;object-fit:cover;transition:transform calc(var(--duration)*1.5) var(--curve)}
html[data-layout-style=island] .card-content{padding:18px 19px 14px}
html[data-layout-style=island] .card-kicker{font-size:11px;letter-spacing:.02em;margin-bottom:9px}
html[data-layout-style=island] .card-title{font-size:16px;line-height:1.6;font-weight:650;letter-spacing:0;min-height:3.2em}
html[data-layout-style=island] .card-excerpt{line-height:1.9;font-size:12px;margin-top:9px;margin-bottom:15px}
html[data-layout-style=island] .card-meta{padding-top:12px;border-top:1px solid var(--line);font-size:11px;gap:10px}
html[data-layout-style=island] .card-price{font-size:20px;font-variant-numeric:tabular-nums;gap:8px;flex-wrap:wrap}
html[data-layout-style=island] .card-price small{font-size:10px;font-weight:400}
html[data-layout-style=island] .cover-badge{font-size:10px;border:1px solid rgba(255,255,255,.28);backdrop-filter:blur(10px)}
html[data-layout-style=island] .quick-links{gap:16px;margin:23px 0 35px}
html[data-layout-style=island] .quick-link{border-radius:calc(var(--radius)*.7);padding:19px 18px;background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow)}
html[data-layout-style=island] .quick-link strong{font-size:14px;font-weight:650}
html[data-layout-style=island] .quick-link small{font-size:11px;margin-top:4px}
html[data-layout-style=island] .quick-icon{width:44px;height:44px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}
html[data-layout-style=island] .hero{min-height:350px;padding:0;display:grid;grid-template-columns:44% 56%;overflow:hidden;isolation:isolate;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:var(--radius)}
html[data-layout-style=island] .hero-copy{padding:36px 0 34px 38px;position:relative;z-index:2}
html[data-layout-style=island] .hero h1{font-size:clamp(28px,3vw,43px);line-height:1.45;letter-spacing:.012em;font-weight:750;margin:18px 0}
html[data-layout-style=island] .hero-description{font-size:13px;line-height:1.95;max-width:34em;margin-bottom:23px}
html[data-layout-style=island] .hero-meta{margin-top:24px;font-size:11px;gap:20px}
html[data-layout-style=island] .hero-art{position:relative;min-width:0;height:100%;min-height:350px;align-self:stretch}
html[data-hero-art=anime] .hero-art>:not(.hero-anime){display:none}
.hero-anime{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:64% 55%;transform:none!important}
html[data-hero-art=anime] .hero-art:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--surface),rgba(var(--surface-rgb),.38) 12%,transparent 30%)}
html[data-hero-art=anime] .hero .particles{display:none}
html[data-hero-art=anime][data-mode=dark] .hero-anime{filter:brightness(.75) saturate(.88)}
html[data-layout-style=island] .featured-grid{gap:18px}
html[data-layout-style=island] .featured-item{min-height:175px;border-radius:calc(var(--radius)*.8);overflow:hidden}
html[data-layout-style=island] .featured-item h3{font-size:16px;line-height:1.65}
html[data-layout-style=island] .page-hero{padding:20px 0 28px;margin-bottom:0}
html[data-layout-style=island] .page-hero h1{font-size:clamp(26px,3vw,36px);line-height:1.5;margin-top:6px}
html[data-layout-style=island] .page-hero-art{width:76px;height:76px;border-radius:24px;background:var(--accent-soft);color:var(--accent)}
html[data-layout-style=island] .page-hero-art .icon{width:35px;height:35px}
html[data-layout-style=island] .article-panel{padding:35px 38px;overflow-wrap:anywhere}
html[data-layout-style=island] .article-title{font-size:clamp(25px,2.5vw,36px);line-height:1.55;font-weight:720;letter-spacing:.01em}
html[data-layout-style=island] .article-meta{padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid var(--line);font-size:12px;flex-wrap:wrap}
html[data-layout-style=island] .article-cover{aspect-ratio:16/9;object-fit:cover;border-radius:calc(var(--radius)*.65);margin:0 0 30px}
html[data-layout-style=island] .prose{font-size:15px;line-height:2;letter-spacing:.02em;max-width: 70ch}
html[data-layout-style=island] .prose p{margin:1.15em 0}
html[data-layout-style=island] .prose h2{font-size:23px;border-left:4px solid var(--accent);padding-left:14px;margin:1.9em 0 .8em}
html[data-layout-style=island] .prose h3{font-size:19px;margin:1.7em 0 .7em}
html[data-layout-style=island] .prose blockquote{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:0 12px 12px 0;padding:16px 22px}
html[data-layout-style=island] .prose pre{font-size:13px;line-height:1.85;border-radius:12px;white-space:pre;overflow-x:auto}
html[data-layout-style=island] .thread-list{overflow:hidden}
html[data-layout-style=island] .thread-item{padding:23px;gap:18px}
html[data-layout-style=island] .admin-main{padding:30px 32px;max-width:1600px;margin-inline:auto}
html[data-layout-style=island] .admin-title h1{font-size:28px;letter-spacing:.005em}
html[data-layout-style=island] .admin-title p{max-width: 70ch;line-height:1.85}
html[data-layout-style=island] .admin-nav a{border-radius:9px;transition:background 180ms var(--ease-ui),color 180ms var(--ease-ui)}
html[data-layout-style=island] .admin-nav a.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}
html[data-layout-style=island] .admin-header{background:rgba(var(--surface-rgb),.95);border-bottom:1px solid var(--line)}
html[data-layout-style=island] .field input,html[data-layout-style=island] .field select,html[data-layout-style=island] .field textarea{min-height:42px;border-radius:10px;transition:border-color 160ms var(--ease-ui),box-shadow 160ms var(--ease-ui)}
html[data-layout-style=island] .field:focus-within>label{color:var(--accent)}
html[data-layout-style=island] .btn{border-radius:10px;font-weight:600;letter-spacing:.015em;min-height:40px;transition:transform var(--duration) var(--curve),background 180ms var(--ease-ui),box-shadow 220ms var(--ease-ui)}
.catalog-filter-panel{margin-bottom:25px;padding:0!important;background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.catalog-filter-panel>summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;padding:17px 21px;gap:12px;min-height:56px}
.catalog-filter-panel>summary::-webkit-details-marker{display:none}
.catalog-filter-panel>summary>.icon{transform:rotate(90deg);transition:transform 220ms var(--ease-ui)}
.catalog-filter-panel[open]>summary>.icon{transform:rotate(-90deg)}
.catalog-filter-panel[open]>summary{border-bottom:1px solid var(--line)}
.catalog-filter-form{padding:20px 22px}
.catalog-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px}
.catalog-filter-form .hint{max-width:56em;margin-top:8px;font-size:11px}
.catalog-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:19px;flex-wrap:wrap}
.catalog-toolbar>.filters{margin-bottom:0;flex:1}
.view-switch{display:inline-flex;gap:3px;border:1px solid var(--line);border-radius:10px;padding:3px;background:var(--surface)}
.view-switch button{border:0;background:none;color:var(--muted);border-radius:7px;width:34px;height:32px;display:grid;place-items:center}
.view-switch button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
.resource-library{margin:28px 0;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--surface)}
.resource-library-head{padding:20px 23px;border-bottom:1px solid var(--line);background:var(--accent-soft);display:flex;align-items:center;gap:13px}
.resource-library-head h2{font-size:19px}.resource-library-head p{font-size:12px;color:var(--muted);margin-top:4px}
.resource-release{padding:21px 23px;border-bottom:1px solid var(--line)}.resource-release:last-child{border-bottom:0}
.resource-release .resource-title{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:15px}
.resource-release .resource-notes{font-size:12px;color:var(--muted);margin:10px 0 15px;white-space:pre-wrap}
.resource-release footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.resource-release details{font-size:12px;margin-top:14px}.resource-release details summary{cursor:pointer;color:var(--muted)}
.resource-release details form{padding:13px;background:var(--bg);border-radius:10px;margin-top:10px}
.resource-workbench{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,380px);gap:23px;align-items:start}
.resource-workbench .panel{padding:25px}.resource-workbench .resource-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid var(--line)}
.block-features-grid,.block-gallery-grid,.block-category-grid,.block-plan-grid{display:grid;grid-template-columns:repeat(var(--block-columns,3),minmax(0,1fr));gap:20px}
.block-feature-card{padding:26px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.block-feature-card .quick-icon{margin-bottom:20px}.block-feature-card h3{font-size:18px;line-height:1.5;margin-bottom:10px}
.block-feature-card p{font-size:13px;color:var(--muted);line-height:1.9}
.block-gallery-grid figure{margin:0;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.block-gallery-grid img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.block-gallery-grid figcaption{padding:12px 15px;font-size:12px;color:var(--muted)}
.block-tabs-nav{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}.block-tabs-nav button{border:1px solid var(--line);border-radius:30px;background:var(--surface);color:var(--muted);padding:10px 18px}
.block-tabs-nav button[aria-selected=true]{background:var(--accent);color:white;border-color:var(--accent)}
.block-tab-panel{padding:24px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.block-timeline{padding-left:24px;border-left:1px solid var(--line);margin:23px 0 20px 9px}
.block-timeline-item{position:relative;padding:0 0 28px 13px}.block-timeline-item:before{content:"";position:absolute;top:9px;left:-29px;width:9px;height:9px;background:var(--accent);border-radius:50%;box-shadow:0 0 0 5px var(--accent-soft)}
.block-timeline-item h3{font-size:17px}.block-timeline-item p{font-size:13px;color:var(--muted);margin-top:7px}
.block-category-tile{display:flex;align-items:center;gap:14px;background:var(--surface);padding:23px;border:1px solid var(--line);border-radius:15px}
.block-category-tile strong{display:block}.block-category-tile small{display:block;font-size:12px;color:var(--muted);margin-top:3px}
.block-plan-card{padding:25px;border:1px solid var(--line);border-radius:17px;background:var(--surface)}.block-plan-card h3{font-size:20px;margin:9px 0}.block-plan-card .plan-amount{font-size:30px;font-weight:700;margin:20px 0;color:var(--accent)}
.block-title-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 25px}.block-title-links a{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:14px 0;gap:16px;font-size:14px}.block-title-links time{font-size:11px;color:var(--muted);white-space:nowrap}
.studio-mini-preview{white-space:pre-line}.studio-palette .palette-item{min-height:55px}.studio-canvas-head{position:sticky;top:72px;z-index:3;background:var(--surface);padding:15px;border-bottom:1px solid var(--line)}
@media(hover:hover) and (pointer:fine){html[data-motion="1"][data-layout-style=island] .content-card:hover{transform:translateY(calc(-1*var(--lift)));box-shadow:0 12px 32px rgba(var(--accent-rgb),.10);border-color:rgba(var(--accent-rgb),.3)}html[data-motion="1"][data-layout-style=island] .content-card:hover .card-cover img{transform:scale(1.045)}html[data-motion="1"] .block-category-tile:hover .quick-icon{transform:translateY(-3px) rotate(-4deg);transition:transform var(--duration) var(--curve)}}
@media(min-width:1100px){.site-header .mobile-menu{display:none}.resource-workbench>aside{position:sticky;top:96px}}
@media(max-width:1100px){html[data-layout-style=island] .main-grid{grid-template-columns:minmax(0,1fr) 245px;gap:20px}.catalog-filter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}html[data-layout-style=island] .hero-copy{padding:28px 0 28px 28px}.resource-workbench{grid-template-columns:minmax(0,1fr)}}
@media(max-width:960px){html[data-layout-style=island] .main-grid{grid-template-columns:minmax(0,1fr)}html[data-layout-style=island] .hero{grid-template-columns:48% 52%;min-height:310px}html[data-layout-style=island] .hero-art{min-height:310px}html[data-layout-style=island] .admin-main{padding:24px}.block-features-grid,.block-gallery-grid,.block-category-grid,.block-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){html[data-layout-style=island] .container,html[data-layout-width=wide] .container,html[data-layout-width=focused] .container{width:calc(100% - 28px)}html[data-layout-style=island] .site-main{padding-top:15px}html[data-layout-style=island] .hero{display:flex;flex-direction:column-reverse;min-height:0}html[data-layout-style=island] .hero-art{min-height:185px;width:100%;height:185px}html[data-hero-art=anime] .hero-art:after{background:linear-gradient(0deg,var(--surface),transparent 28%)}html[data-layout-style=island] .hero-copy{padding:0 24px 25px}html[data-layout-style=island] .hero h1{font-size:29px;margin:13px 0}.hero .eyebrow{font-size:9px}html[data-layout-style=island] .hero-description{font-size:12px;margin-bottom:18px}html[data-layout-style=island] .hero-meta{margin-top:16px}html[data-layout-style=island] .quick-links{gap:10px;margin:17px 0 28px}html[data-layout-style=island] .quick-link{padding:13px 10px;gap:9px}html[data-layout-style=island] .quick-link small{font-size:10px}html[data-layout-style=island] .quick-icon{width:34px;height:34px;border-radius:11px}html[data-layout-style=island] .quick-link strong{font-size:12px}html[data-layout-style=island] .quick-link>.icon{display:none}html[data-layout-style=island] .card-grid{gap:13px}html[data-layout-style=island] .card-content{padding:13px 13px 11px}html[data-layout-style=island] .card-title{font-size:14px}html[data-layout-style=island] .card-excerpt{font-size:11px}html[data-layout-style=island] .section-heading h2{font-size:19px;gap:8px}html[data-layout-style=island] .section-heading h2 small{display:none}html[data-layout-style=island] .article-panel{padding:23px 20px}html[data-layout-style=island] .prose{font-size:14px;line-height:1.95}html[data-layout-style=island] .admin-main{padding:19px 14px}html[data-layout-style=island] .admin-title h1{font-size:25px}.catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px}.catalog-filter-form{padding:16px}.catalog-filter-panel>summary{padding:14px 16px}.catalog-filter-panel .row{flex-wrap:wrap}.view-switch button{width:38px;height:36px}.block-features-grid,.block-gallery-grid,.block-category-grid,.block-plan-grid,.block-title-links{grid-template-columns:minmax(0,1fr)}.resource-library-head,.resource-release{padding:18px}.resource-workbench .panel{padding:19px}.studio-canvas-head{position:static}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}.content-card,.card-cover img,.btn,.block-category-tile .quick-icon,.catalog-filter-panel summary>.icon{transition:none!important;animation:none!important;transform:none!important}}
html[data-motion="0"] .content-card,html[data-motion="0"] .card-cover img,html[data-motion="0"] .catalog-filter-panel summary>.icon{transition:none!important;transform:none!important}
/* Original anime identity; one shared component for the site and workspace. */
.brand-mark.brand-mascot{width:52px;height:52px;flex:0 0 52px;background:transparent;box-shadow:none;transform:none;border-radius:0;overflow:visible}
.brand-mascot img{display:block;width:100%;height:100%;object-fit:contain;transform-origin:50% 80%;transition:transform var(--duration,280ms) var(--curve,cubic-bezier(.2,.8,.2,1))}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html[data-motion="1"] .brand:hover .brand-mascot img{transform:translateY(-2px) rotate(-4deg)}}
html[data-motion="0"] .brand-mascot img{transition:none;transform:none}
.composed-block{position:relative;isolation:isolate;overflow:hidden}
.block-backdrop{position:absolute;inset:0;z-index:-1;width:100%;height:100%;object-fit:cover;opacity:.12;pointer-events:none}
@media(max-width:600px){.brand-mark.brand-mascot{width:44px;height:44px;flex-basis:44px}}
@media(prefers-reduced-motion:reduce){.brand-mascot img{transition:none;transform:none}}
/* Scroll-snap provides touch and keyboard access even before JS enhancement. */
.block-button-group{display:flex;flex-wrap:wrap;gap:12px}
.carousel-track{display:flex;position:relative;gap:0;overflow-x:auto;scroll-snap-type:x mandatory;border-radius:18px;scrollbar-width:thin;overscroll-behavior-x:contain}
.carousel-slide{position:relative;isolation:isolate;flex:0 0 100%;min-width:0;min-height:280px;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;background:var(--surface-alt,var(--surface))}
.carousel-slide.has-image{min-height:370px;color:#fff;background:#173b42}
.carousel-slide picture{position:absolute;inset:0;z-index:-2}
.carousel-slide img{width:100%;height:100%;object-fit:cover}
.carousel-slide.has-image:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,32,39,.86),rgba(10,32,39,.52) 48%,rgba(10,32,39,.07))}
.carousel-copy{padding:clamp(24px,5vw,64px);max-width:660px}
.carousel-copy h3{font-size:clamp(23px,3vw,38px);margin:12px 0;line-height:1.4;overflow-wrap:anywhere}
.carousel-copy p{white-space:pre-line;line-height:1.85;margin:12px 0 22px}
.carousel-controls{display:flex;align-items:center;justify-content:center;gap:14px;padding-top:14px;font-variant-numeric:tabular-nums}
.carousel-controls [data-carousel-prev] .icon{transform:rotate(180deg)}
.carousel-track:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:600px){.carousel-slide.has-image{min-height:380px;align-items:flex-end}.carousel-slide.has-image:after{background:linear-gradient(0deg,rgba(10,32,39,.92),rgba(10,32,39,.25) 90%)}.carousel-copy{padding:26px}.carousel-copy p{font-size:13px}}
/* Archive: shared typography and motion tokens, with a readable no-script baseline. */
.archive-hero{display:grid;grid-template-columns:1.2fr 1fr;overflow:hidden;margin:2rem 0;min-height:290px}
.archive-hero>div{padding:clamp(1.5rem,4vw,3.5rem);align-self:center}.archive-hero h1{font-size:clamp(1.8rem,3.5vw,3.3rem);line-height:1.25;letter-spacing:-.04em;margin:.8rem 0}
.archive-hero p{color:var(--muted);line-height:1.8;margin:0 0 1.5rem}.archive-hero img{width:100%;height:100%;object-fit:cover;min-width:0}
.archive-filter{display:flex;align-items:end;gap:1rem;flex-wrap:wrap;padding:1.3rem}.archive-filter .field{flex:1 1 180px;margin:0}.archive-filter>.text-link{align-self:center}
.archive-journal{margin:3rem 0}.archive-month{display:grid;grid-template-columns:140px minmax(0,1fr);gap:2rem;margin:0 0 2.5rem}.archive-month h2{font-size:1.1rem;font-variant-numeric:tabular-nums;margin:.4rem 0;color:var(--muted)}
.archive-entries{border-left:1px solid var(--line);padding-left:2rem}.archive-entry{display:grid;grid-template-columns:2.5rem minmax(0,1fr) 2.8rem;gap:1rem;padding:1.3rem .5rem;border-bottom:1px solid var(--line);position:relative}
.archive-entry::before{content:"";position:absolute;left:calc(-2rem - 4px);top:1.9rem;width:7px;height:7px;border-radius:50%;background:var(--accent)}
.archive-entry>time{font-size:1.5rem;color:var(--muted);font-variant-numeric:tabular-nums;line-height:1.5}.archive-entry h3{font-size:1.15rem;line-height:1.6;margin:.4rem 0;overflow-wrap:anywhere}.archive-entry p{color:var(--muted);line-height:1.8;margin:.4rem 0}
.archive-entry-meta{display:flex;gap:.8rem;flex-wrap:wrap;font-size:.78rem;color:var(--muted)}.archive-entry-meta svg{width:13px;height:13px}.archive-open{align-self:center;transition:transform var(--duration) var(--curve)}
.archive-entry:focus-within .archive-open,.archive-entry:hover .archive-open{transform:translateX(3px)}.comment-filters{margin:1.2rem 0}.comments{scroll-margin-top:100px}.comments .pagination{flex-wrap:wrap}
@media(max-width:640px){.archive-hero{grid-template-columns:1fr}.archive-hero img{height:180px;grid-row:1}.archive-month{grid-template-columns:1fr;gap:.6rem}.archive-entries{padding-left:1rem;margin-left:.25rem}.archive-entry{grid-template-columns:2rem minmax(0,1fr);gap:.6rem}.archive-entry::before{left:calc(-1rem - 4px)}.archive-open{display:none}.archive-entry h3{font-size:1rem}.archive-filter{align-items:stretch}.archive-filter>.btn{width:100%}}
@media(prefers-reduced-motion:reduce){.archive-open{transition:none;transform:none!important}}
html[data-motion="0"] .archive-open{transition:none;transform:none!important}
.custom-icon{object-fit:contain;flex-shrink:0;vertical-align:middle}
.desktop-nav a{display:inline-flex;align-items:center;gap:.4rem}
.desktop-nav .custom-icon{width:1.5rem;height:1.5rem}
.visual-workbench{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr);gap:24px;align-items:start}
.visual-editor{position:sticky;top:100px;min-width:0}
@media(max-height:900px){.visual-editor{position:static}}
.visual-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:12px}
.visual-grid.symbol-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
.visual-tile{display:flex;flex-direction:column;align-items:center;gap:9px;border:1px solid var(--line);border-radius:18px;padding:13px 8px;text-align:center;min-width:0;transition:border-color .22s var(--curve),background .22s var(--curve),box-shadow .22s var(--curve)}
.visual-tile[hidden]{display:none}
.visual-tile strong{font-size:.78rem;overflow-wrap:anywhere;font-weight:600}
.visual-tile:hover,.visual-tile:focus-visible,.visual-tile.selected{border-color:var(--accent);background:var(--surface);box-shadow:0 5px 18px #8074bc12}
.visual-thumbnail{height:85px;width:100%;display:grid;place-items:center;overflow:hidden;border-radius:10px}
.visual-thumbnail>img{width:100%;height:100%;object-fit:cover}
.symbol-grid .visual-thumbnail{height:52px}
.visual-thumbnail>.icon{width:35px;height:35px}
.visual-preview{display:grid;place-items:center;min-height:200px;margin:20px 0;border:1px solid var(--line);border-radius:22px;overflow:hidden;background:repeating-conic-gradient(#8888880c 0% 25%,transparent 0% 50%) 0 0/20px 20px}
.visual-preview>img{width:100%;max-height:300px;object-fit:contain}
.visual-preview>img[hidden],.visual-preview>span[hidden]{display:none}
.visual-preview.is-symbol>img{width:120px;height:120px;padding:10px}
.visual-preview .icon{width:64px;height:64px}
.visual-shortcuts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:24px}
.visual-shortcuts>a{display:flex;gap:8px;align-items:center;font-size:.82rem}
.visual-art-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}
.visual-art-gallery figure{margin:0;min-width:0}
.visual-art-gallery img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;border-radius:14px;background:var(--surface)}
.visual-art-gallery figcaption,.cover-choice>span{font-size:.8rem;display:block;margin:8px 0}
.cover-collection{margin:0 0 20px}.cover-collection summary{cursor:pointer;margin-bottom:12px}
.cover-choice{position:relative;cursor:pointer}.cover-choice:has(input:checked) img{outline:2px solid var(--accent);outline-offset:3px}
.auth-custom-art{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;z-index:2}
.empty-art{max-width:200px;max-height:150px;object-fit:contain;margin:0 auto 16px}
.footer-decoration{display:block;max-width:240px;max-height:160px;object-fit:contain;margin:0 0 24px auto}
@media(max-width:1000px){.visual-workbench{grid-template-columns:minmax(0,1fr)}.visual-editor{position:static;order:-1}.visual-preview{min-height:140px}.visual-preview>img{max-height:200px}}
@media(prefers-reduced-motion:reduce){.visual-tile{transition:none}}
html[data-detail=restrained] .brand-caption,html[data-detail=restrained] .section-heading h2 small,html[data-detail=restrained] .auth-story>small{display:none}
html[data-detail=restrained] .hero .eyebrow{letter-spacing:.06em;font-size:12px}
html[data-detail=restrained] .hero h1{font-size:clamp(26px,2.7vw,36px);line-height:1.5;font-weight:700}
html[data-detail=restrained] .hero-description{font-size:14px;line-height:1.9}
html[data-detail=restrained] .hero-meta strong{font-size:18px}
html[data-detail=restrained] .card-title{font-weight:650;line-height:1.65;letter-spacing:0}
html[data-detail=restrained] .auth-wrap .orb,html[data-detail=restrained] .auth-wrap .orbit-ring{opacity:.25}
html[data-detail=restrained] .admin-title .eyebrow{font-size:11px;letter-spacing:.04em}
html[data-detail=restrained] .admin-title h1{font-size:26px;letter-spacing:0}
html[data-detail=restrained] .visual-tile{border-radius:12px}
.upload-field{display:grid;gap:10px;margin:14px 0 20px}.upload-field>.field{margin:0}.upload-field>.upload-status{display:block;line-height:1.7}
.upload-button{position:relative;display:inline-flex;align-items:center;justify-self:start;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 14px;cursor:pointer;background:var(--surface);font-size:13px;overflow:hidden}
.upload-button input[type=file]{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.upload-button:focus-within{outline:2px solid var(--accent);outline-offset:3px}
