@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500&display=swap');
:root{color-scheme:dark;--bg:#17191c;--surface:#202226;--line:#3a3d42;--text:#e6e7e9;--muted:#aaaeb5;--silver:#c7cbd2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--text);font-family:'Noto Sans JP',sans-serif;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{touch-action:manipulation}a:focus-visible,button:focus-visible{outline:2px solid #e0e3e8;outline-offset:6px}.header{height:100px;max-width:1440px;margin:auto;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:24px}.brand{display:flex;align-items:center;gap:16px;font-size:14px;letter-spacing:.15em;font-weight:500}.brandmark{font-family:Georgia,serif;font-size:32px;font-style:italic;letter-spacing:-.18em;padding-right:7px}nav{display:flex;gap:38px;font-size:14px}nav a{color:#bdc0c6}nav a:hover,.text-link:hover{color:white}.header-note,.eyebrow,.edition,.visual-label,.visual-footer,.card-meta,.card-bottom,.code-title,footer{font-family:Arial,'Noto Sans JP',sans-serif}.header-note{font-size:12px;color:var(--muted);letter-spacing:.13em}main{max-width:1440px;margin:auto;padding:0 5%}.intro{padding:69px 0 58px}.eyebrow{font-size:12px;letter-spacing:.17em;color:var(--muted);display:flex;align-items:center;gap:12px}.rule{width:30px;height:1px;background:var(--silver)}.intro-line{display:flex;align-items:center;justify-content:space-between;gap:25px}h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,6.4vw,93px);font-weight:400;letter-spacing:-.05em;line-height:1.15;margin:29px 0 30px}h1 i{color:#bdc1c8;font-weight:400}.edition{font-size:12px;line-height:1.8;letter-spacing:.13em;color:#9da2aa;border-left:1px solid var(--line);padding-left:23px;flex-shrink:0}.intro-bottom{display:flex;align-items:flex-end;justify-content:space-between}.intro-bottom p{color:#b7bbc2;margin:0;line-height:2;font-size:15px}.text-link{font-size:14px;border-bottom:1px solid #73777f;padding-bottom:8px}.text-link span{margin-left:45px}.section-heading{border-top:1px solid var(--line);padding-top:30px;margin-bottom:25px;display:flex;justify-content:space-between;align-items:flex-end;gap:20px}h2{font-size:23px;font-weight:400;letter-spacing:.04em;margin:9px 0 0}.quiet{font-size:13px;color:var(--muted)}.work-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:28px}.visual{height:330px;position:relative;overflow:hidden;padding:24px 28px;display:flex;flex-direction:column;justify-content:space-between}.silver{background:linear-gradient(135deg,#e5e7eb 0%,#9298a1 35%,#c8ccd2 60%,#f0f1f3 100%);color:#363b43}.visual-label,.visual-footer{font-size:11px;letter-spacing:.17em;position:relative;z-index:1}.visual-footer{display:flex;justify-content:space-between}.metal-type{font:italic 240px/.85 Georgia,serif;letter-spacing:-.10em;align-self:center;color:#4d535d;text-shadow:0 1px 0 #fff9,0 -1px 0 #2224;position:relative;padding-right:25px}.metal-type span{font:14px Arial;letter-spacing:0;position:absolute;right:-6px;top:15px}.grid-visual{background-color:#282b30;background-image:linear-gradient(#ffffff08 1px,transparent 1px),linear-gradient(90deg,#ffffff08 1px,transparent 1px);background-size:36px 36px;color:#bfc3cb}.type-study{font-family:'Noto Serif JP',serif;font-size:61px;line-height:1.27;letter-spacing:.18em;align-self:center;transform:rotate(-6deg);color:#d0d3d9}.type-study span{margin-left:75px}.card-body{padding:24px 0 0}.card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:.13em;color:var(--muted);gap:15px}.badge{font-size:12px;letter-spacing:.04em;border:1px solid #52565e;padding:2px 9px;color:#bec2c9;white-space:nowrap}h3{font-weight:400;font-size:22px;letter-spacing:.01em;margin:13px 0 8px}.card-body p{color:var(--muted);font-size:14px;margin:0}.card-bottom{border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:23px 0;font-size:12px;color:#858b95}.detail{font-size:14px;background:none;border:0;padding:5px 0;color:#d6d9df}.detail span{padding-left:18px}.detail:hover{color:white}.code-section{margin-top:72px}.code-card{display:grid;grid-template-columns:1fr 1.35fr;border:1px solid var(--line)}.code-info{padding:33px}.code-info h3{font-family:'Noto Serif JP',serif;line-height:1.75;font-size:28px;margin:27px 0 17px}.code-info p{color:var(--muted);font-size:14px}.swatches{display:flex;margin-top:25px;gap:8px}.swatches span{display:block;width:24px;height:24px;border-radius:50%;border:1px solid #ffffff20}.code-window{background:#111315;border-left:1px solid var(--line);position:relative}.code-title{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #2d3035;padding:14px 23px;font-size:13px;color:var(--muted)}.code-title button{background:none;border:1px solid #494e56;padding:5px 11px;font-size:12px}.code-title button:hover{background:#292d32}pre{font-family:Consolas,'Courier New',monospace;font-size:15px;line-height:1.85;padding:21px 28px;margin:0;overflow-x:auto;color:#b5bac3}.syntax{color:#edf0f5}.copy-status{display:block;padding:0 28px 10px;font-size:12px;color:#bec6d0;min-height:28px}.about{margin-top:76px;border-top:1px solid var(--line);padding:48px 0 64px;display:grid;grid-template-columns:1fr 1fr;gap:65px}.about h2{font-family:'Noto Serif JP',serif;font-size:30px;line-height:1.8;margin-top:20px}.about h2 i{font-style:normal;color:#b9c0ca}.about-copy{font-size:14px;color:#b7bbc3;line-height:2.1;padding-top:22px}.sample-note{font-size:12px;color:#949aa5;margin-top:22px}footer{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding:26px 5%;font-size:12px;color:var(--muted);gap:20px}footer .brand{font-size:12px}footer>span{font-size:10px;letter-spacing:.15em}dialog{background:#22252a;color:var(--text);border:1px solid #636974;padding:30px;max-width:540px;width:calc(100% - 40px)}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{font-size:28px;background:none;border:0;padding:0 7px}dialog h2{margin:25px 0 16px}dialog p{line-height:2;color:#bec3ca;margin-bottom:25px}@media(min-width:1500px){.visual{height:365px}}@media(max-width:800px){.header{height:80px}.header-note,.edition{display:none}.intro{padding-top:45px}nav{gap:20px}.intro-line h1{font-size:clamp(43px,8vw,65px)}.visual{height:280px;padding:20px}.metal-type{font-size:200px}.type-study{font-size:50px}.work-grid{gap:22px;grid-template-columns:1fr 1fr}.quiet{display:none}.code-info{padding:23px}.code-info h3{font-size:25px}.about{gap:30px}.about h2{font-size:25px}}@media(max-width:580px){.header,main,footer{padding-left:6%;padding-right:6%}.brand{font-size:11px;gap:12px;letter-spacing:.1em}.brandmark{font-size:27px}nav{gap:14px;font-size:12px}.intro{padding-top:37px;padding-bottom:40px}.intro .eyebrow{font-size:10px;letter-spacing:.12em}h1{max-width:300px;font-size:57px!important;line-height:1.1}.intro-bottom{align-items:flex-start;flex-direction:column;gap:22px}.intro-bottom p{font-size:14px}.text-link span{margin-left:25px}.section-heading{padding-top:23px}.work-grid{grid-template-columns:1fr;gap:32px}.visual{height:300px}.metal-type{font-size:220px}.type-study{font-size:58px}.card-body{padding-top:19px}.code-section{margin-top:45px}h2{font-size:21px}.code-card{grid-template-columns:1fr}.code-info h3 br,.code-info p br{display:none}.code-info h3{font-size:23px;margin-top:22px}.code-window{border-left:0;border-top:1px solid var(--line)}pre{font-size:14px;padding:22px}.about{margin-top:46px;padding-top:30px;grid-template-columns:1fr;gap:10px}.about-copy{padding-top:0}.about-copy br{display:none}footer{flex-wrap:wrap;padding-top:24px;padding-bottom:24px}footer>span{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Voluntas Argenti: quiet, perpetual clockwork. */
.gears{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1}.gear{position:absolute;font-family:"Segoe UI Symbol","Noto Sans Symbols 2",serif;color:#c9d0db;opacity:.043;line-height:1;display:block;transform-origin:center;animation:turn 180s linear infinite;user-select:none}.gear-one{font-size:600px;right:-190px;top:35px}.gear-two{font-size:440px;left:-180px;top:480px;animation-duration:145s;animation-direction:reverse}.gear-three{font-size:300px;right:15%;bottom:-170px;animation-duration:110s}body{isolation:isolate}.header,.intro,.section-heading,.about,footer{position:relative}.upload-button,.primary{border:1px solid #a8aeb8;background:linear-gradient(135deg,#dedfe3,#a5abb5);color:#20242b;font-size:14px;padding:10px 17px}.upload-button:hover,.primary:hover{filter:brightness(1.08)}.secondary{background:#23272d;border:1px solid #676f7c;padding:10px 20px;margin-top:24px;font-size:14px}.primary:disabled{opacity:.6;cursor:wait}button[hidden],[hidden]{display:none!important}.header .brand{letter-spacing:.05em;font-family:Georgia,serif;font-size:19px}.header nav{margin-left:auto}.header{gap:30px}.work-grid:empty{display:none}.uploaded-work{min-width:0}.uploaded-visual{width:100%;height:310px;background:#23262b;border:1px solid #3b414a;display:flex;align-items:center;justify-content:center;overflow:hidden}.uploaded-visual img{width:100%;height:100%;object-fit:contain;display:block}.file-cover{padding:25px;text-align:center;word-break:break-word}.file-cover strong{display:block;font-family:Georgia,serif;font-size:46px;font-weight:400;margin-bottom:15px}.file-cover span{color:#b5bbc6;font-size:14px}.card-body h3,.card-body p,.code-info h3,.code-info p{overflow-wrap:anywhere}.card-body p{white-space:pre-wrap}.uploaded-work .card-bottom{margin-bottom:16px}#uploaded-code .code-card{margin-bottom:24px}#load-status{color:#b8bec9;font-size:14px;margin-bottom:22px}#load-status:empty{display:none}#upload-dialog{max-width:610px;max-height:90dvh;overflow-y:auto}dialog label{display:block;margin-top:17px;font-size:14px;color:#e0e4eb}dialog label>span{font-size:12px;color:#acb3be}input,select,textarea{display:block;width:100%;margin-top:7px;background:#14171b;color:#e3e7ef;border:1px solid #515a66;border-radius:0;padding:11px;font:inherit;font-size:16px}textarea{resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #a8b4c6;outline-offset:2px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.file-field{border:1px dashed #697382;padding:16px}.file-field input{padding:6px 0;border:0;background:none;font-size:14px}.file-field>span{display:block;margin-top:10px}#file-preview{max-width:100%;max-height:180px;display:block;margin:15px auto;background:#15181c}#code-input textarea{font-family:Consolas,monospace;font-size:14px}#form-error{color:#f1b9b9;font-size:14px;white-space:pre-wrap}.upload-hint{font-size:12px;margin-bottom:0;color:#a4adba}#submit-post{width:100%;margin-top:8px}#work-dialog{max-width:850px;max-height:90dvh;overflow:auto}#work-content img{display:block;max-width:100%;max-height:60dvh;margin:22px auto;object-fit:contain}#work-content pre{background:#14171b;margin-top:20px;max-height:50dvh;overflow:auto;white-space:pre}#work-content p{white-space:pre-wrap;overflow-wrap:anywhere}.work-actions{display:flex;flex-wrap:wrap;align-items:center;gap:20px;margin-top:22px}.work-actions .secondary{margin-top:0}.danger{margin-left:auto;background:none;border:1px solid #a67a7a;padding:9px 13px;font-size:14px;color:#e8c4c4}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);max-width:90%;background:#cbd1da;color:#20252c;padding:13px 22px;z-index:10;box-shadow:0 5px 30px #0005;font-size:14px}.samples{opacity:.9}#uploaded-works{row-gap:25px}#motion-control{font-size:12px;color:#aab0ba;background:none;border:0;padding:6px}.code-preview{max-height:320px}footer .brand{font-family:Georgia,serif;text-transform:none;font-size:16px;letter-spacing:.03em}@media(max-width:800px){.header{flex-wrap:wrap;height:auto;min-height:92px;padding-top:15px;padding-bottom:15px;gap:15px}.header .brand{font-size:18px}.header nav{gap:18px}.upload-button{font-size:13px;padding:8px 12px}.gear-one{font-size:460px;right:-240px}}@media(max-width:580px){.header nav{margin-left:0}.header .brand{flex-basis:100%}.upload-button{margin-left:auto}.header{gap:11px}.intro-line h1{font-size:53px!important}.gear-two{font-size:350px;left:-230px}.uploaded-visual{height:290px}.form-row{gap:10px}dialog{padding:22px}#uploaded-code .code-info h3{font-size:23px}.header nav{font-size:14px}footer{gap:12px}}@media(prefers-reduced-motion:reduce){.gear{animation-duration:600s}}
@keyframes turn{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
#uploaded-code{display:grid;grid-template-columns:1fr 1fr;gap:28px}.code-upload .uploaded-visual{height:180px}.code-upload .file-cover strong{font-size:54px}body.motion-paused .gear{animation-play-state:paused}@media(max-width:580px){#uploaded-code{grid-template-columns:1fr}}

/* A quiet, evenly spaced gallery: the artwork sets the scale. */
#uploaded-works,#uploaded-code{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px;align-items:start}
.uploaded-work{overflow:hidden;border:1px solid #ffffff0f;background:linear-gradient(145deg,#24272c,#1c1f23);border-radius:12px;transition:border-color .2s,box-shadow .2s}
.uploaded-work:hover{border-color:#8a919a66;box-shadow:0 14px 30px #0002}
.uploaded-visual{position:relative;appearance:none;display:flex;width:100%;height:auto;aspect-ratio:1;border:0;border-radius:0;padding:28px;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#424751 0%,#30353c 55%,#272c32 100%);margin:0}
.uploaded-visual img{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;opacity:0;transition:opacity .2s;flex-shrink:1}
.uploaded-visual img.is-loaded{opacity:1}.uploaded-visual img.image-error{opacity:1}
.uploaded-visual img.pixel-art{image-rendering:pixelated;object-fit:contain;flex-shrink:0}
.uploaded-visual:focus-visible{outline-offset:-5px;outline:2px solid #d4dbe6}
.view-hint{position:absolute;bottom:14px;right:14px;background:#15191dd9;color:#e1e5eb;border:1px solid #ffffff1a;border-radius:100px;font-size:12px;padding:5px 12px;opacity:0;transform:translateY(4px);transition:opacity .2s,transform .2s;backdrop-filter:blur(8px)}
.uploaded-visual:hover .view-hint,.uploaded-visual:focus-visible .view-hint{opacity:1;transform:translateY(0)}
.uploaded-work .card-body{padding:22px 23px 0}.uploaded-work .card-meta{font-size:12px}.uploaded-work .art-category{letter-spacing:.17em;color:#99a2af}.uploaded-work .badge{border:0;background:#b9c2cf0d;padding:3px 8px;border-radius:4px;color:#b8c0ca}
.uploaded-work h3{font-size:19px;line-height:1.65;margin:12px 0 8px;letter-spacing:.015em}.uploaded-work .art-description{font-size:14px;line-height:1.85;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#a1aab7}
.uploaded-work .card-bottom{border-top:1px solid #ffffff0b;border-bottom:0;margin:20px 0 0;padding:13px 0 16px;color:#9099a6;font-size:12px}.art-dimensions{font-variant-numeric:tabular-nums;letter-spacing:.04em}
.code-upload .uploaded-visual{height:auto;aspect-ratio:1.4;background:linear-gradient(135deg,#252b33,#181d24)}.code-upload .file-cover strong{font-size:46px;color:#c6cdd8}.file-cover{padding:0}.file-cover span{font-size:13px}.file-cover strong{font-size:38px}
#work-dialog{width:min(1000px,94vw);padding:28px;background:#1b1f24;border:1px solid #596271;border-radius:12px}#work-dialog .dialog-top{padding-bottom:10px}#work-content>h2{font-family:'Noto Serif JP',serif;font-size:25px;margin:12px 0}#work-content>p{font-size:15px;color:#aeb7c3;line-height:1.9;margin:0 0 22px}
.artwork-viewer{display:flex;align-items:center;justify-content:center;min-height:300px;max-height:65dvh;padding:32px;border:1px solid #ffffff0b;border-radius:6px;background:radial-gradient(ellipse at 50% 40%,#424751,#292e35 80%)}
#work-content .artwork-viewer img{margin:0;width:auto;height:auto;max-width:100%;max-height:calc(65dvh - 64px);object-fit:contain}#work-content .artwork-viewer img.pixel-art{image-rendering:pixelated}
#work-content .work-actions{border-top:1px solid #ffffff0c;padding-top:22px}.work-actions a.secondary{border:1px solid #697384;background:transparent;border-radius:4px;font-size:14px}.work-actions .danger{border-color:#6d5159;color:#bd969f;border-radius:4px}
@media(min-width:1350px){#uploaded-works,#uploaded-code{gap:30px}.uploaded-visual{padding:34px}}
@media(max-width:950px){#uploaded-works,#uploaded-code{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.uploaded-visual{padding:26px}}
@media(max-width:580px){#uploaded-works,#uploaded-code{grid-template-columns:minmax(0,1fr);gap:25px}.uploaded-visual{padding:30px}.uploaded-work .card-body{padding:20px 22px 0}.uploaded-work h3{font-size:20px}.view-hint{opacity:1;transform:none}.artwork-viewer{padding:20px;min-height:250px}#work-dialog{padding:20px}#work-content .artwork-viewer img{max-height:calc(65dvh - 40px)}}
@media(prefers-reduced-motion:reduce){.uploaded-work,.uploaded-visual img,.view-hint{transition:none}}

/* Engraved skeleton watch wheels, softly visible beyond the gallery. */
.gear{display:block;height:auto;aspect-ratio:1;object-fit:contain;filter:grayscale(1);opacity:.105;animation-duration:210s;will-change:transform}
.gear-one{width:660px;right:-180px;top:-200px}
.gear-two{width:520px;left:-230px;top:540px;animation-duration:165s;animation-direction:reverse;opacity:.075}
.gear-three{width:340px;right:-110px;bottom:-165px;animation-duration:130s;opacity:.065}
@media(max-width:800px){.gear-one{width:530px;right:-230px;top:-155px}.gear-two{width:420px;left:-260px;top:670px}.gear-three{width:270px;right:-170px}}
@media(prefers-reduced-motion:reduce){.gear{animation-duration:600s;will-change:auto}}
/* One continuous row, with breathing room between works. */
#uploaded-works,#uploaded-code,#sample-works{display:flex;flex-wrap:nowrap;gap:36px;overflow-x:auto;overflow-y:hidden;max-width:100%;min-width:0;padding:8px 3px 24px;scroll-snap-type:x proximity;scroll-padding-inline:3px;scrollbar-width:thin;scrollbar-color:#89929f #292e35;overscroll-behavior-x:contain;align-items:stretch}
#uploaded-works:empty,#uploaded-code:empty{display:none}
#uploaded-works>.work,#uploaded-code>.work,#sample-works>.work{flex:0 0 clamp(320px,34vw,420px);min-width:0;scroll-snap-align:start}
#uploaded-works .uploaded-work,#uploaded-code .uploaded-work{display:flex;flex-direction:column}
#uploaded-works .card-body,#uploaded-code .card-body{display:flex;flex-direction:column;flex:1}
#uploaded-works .card-bottom,#uploaded-code .card-bottom{margin-top:auto;padding-top:18px}
#uploaded-works .art-description,#uploaded-code .art-description{margin-bottom:20px}
.gallery-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:0 0 15px;color:#aeb7c3;font-size:14px}
.gallery-controls>span{margin-right:12px}
.gallery-controls button{width:44px;height:44px;background:#242930;border:1px solid #657080;border-radius:50%;font-size:22px;line-height:1;color:#d5dde8}
.gallery-controls button:hover:not(:disabled){background:#39424d;border-color:#a4adba}
.gallery-controls button:disabled{opacity:.3;cursor:default}
.gallery-row:focus-visible{outline:1px solid #929faf;outline-offset:5px}
@media(max-width:580px){#uploaded-works,#uploaded-code,#sample-works{gap:22px;padding-bottom:20px}#uploaded-works>.work,#uploaded-code>.work,#sample-works>.work{flex-basis:82%;min-width:0}.gallery-controls{margin-bottom:8px}.gallery-controls>span{font-size:13px}.gallery-controls button{width:40px;height:40px}}

.character-section{margin-top:72px;scroll-margin-top:30px}.character-edit{margin:0;border-radius:4px;font-size:14px}.character-edit:disabled{opacity:.5;cursor:wait}.character-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:52px;padding:28px 0 12px}.character-nameplate{position:relative;align-self:start;min-height:290px;padding:26px 24px;border:1px solid #59616d;background:linear-gradient(145deg,#32373fbb,#1b2026aa);display:flex;flex-direction:column;justify-content:space-between}.character-nameplate .eyebrow{font-size:11px;letter-spacing:.14em}.character-initial{font-family:Georgia,serif;font-style:italic;font-size:135px;line-height:1.2;font-weight:400;color:#c4cbd5}.character-caption{font-size:11px;letter-spacing:.2em;color:#9aa5b5}.character-details{min-width:0;padding-top:2px}.character-note{padding-bottom:27px;margin-bottom:26px;border-bottom:1px solid #ffffff15}.character-note h3{font-size:14px;font-weight:500;letter-spacing:.11em;color:#b7c4d5;margin:0 0 13px}.character-note p{font-size:16px;line-height:2.05;color:#d3d8e0;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.character-updated{font-size:12px;color:#939eaf}.character-updated:empty,#character-status:empty{display:none}#character-status{color:#acb6c5;font-size:15px;line-height:2}#character-editor{max-width:700px;width:calc(100% - 36px);max-height:90dvh;overflow:auto;border-radius:8px;padding:30px}.character-help{font-size:14px;color:#a9b3c2!important}#character-editor textarea{line-height:1.85}#character-error{color:#efb8b8;font-size:14px}#save-character{width:100%;margin-top:12px}#character-form>label{margin-top:24px}@media(max-width:700px){.character-layout{grid-template-columns:1fr;gap:26px;padding-top:12px}.character-nameplate{min-height:170px;padding:20px 24px}.character-initial{font-size:90px;position:absolute;right:25px;top:28px}.character-nameplate .eyebrow{max-width:150px}.character-section{margin-top:50px}.character-note p{font-size:16px}#character-editor{padding:22px}.character-edit{padding:9px 13px}}
.fa-group{margin:36px 0 56px}.fa-author{font-size:18px;font-weight:500;color:#c7ced8;padding-bottom:18px;border-bottom:1px solid #ffffff20}.fa-rail{display:flex;gap:32px;overflow-x:auto;padding:6px 0 24px;scroll-snap-type:x proximity;scrollbar-color:#768292 #20252b}.fa-rail>.work{flex:0 0 340px;min-width:0;scroll-snap-align:start}.fa-rail:focus-visible{outline:1px solid #aab6c6;outline-offset:6px}.fa-rail .uploaded-visual{aspect-ratio:4/5;align-items:center;justify-content:center}.fa-title{font-size:16px;line-height:1.8;font-weight:400;margin:0;overflow-wrap:anywhere}.fa-rail .card-body{padding:20px 22px 24px}.fa-rail .badge{display:inline-block;margin-top:12px}#fa-status:empty{display:none}@media(max-width:580px){.fa-rail>.work{flex-basis:82%}.fa-rail{gap:32px}.fa-author{font-size:16px}}
.fa-tabs{display:flex;gap:8px;overflow-x:auto;padding:12px 0 16px;border-bottom:1px solid #ffffff20;scrollbar-color:#768292 #20252b}.fa-tab{flex-shrink:0;background:#20252b;border:1px solid #4c5663;border-radius:5px;padding:12px 18px;font-size:15px;color:#aeb8c6}.fa-tab[aria-selected=true]{background:#c3cad4;color:#1d2229;border-color:#c3cad4}.fa-tab:focus-visible{outline:2px solid #e0e6ed;outline-offset:3px}.fa-delete{display:block;margin:18px 0 0}.fa-delete[hidden]{display:none}.fa-group{margin-top:24px}
.fa-edit-toolbar{margin:20px 0}.fa-edit-toolbar p{font-size:16px;line-height:1.8}.fa-edit-toolbar .secondary{display:inline-block;margin:8px 12px 8px 0}.fa-edit-toolbar [hidden]{display:none}.fa-sort-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));overflow:visible;align-items:start}.fa-sort-grid>.work{min-width:0}.fa-sort-grid .uploaded-visual{padding:18px;cursor:grab}.sortable-art{cursor:grab}.sortable-art.dragging{opacity:.4}.sortable-art.drop-target{outline:3px solid #c3d0df;outline-offset:4px}.sort-controls{display:flex;gap:10px}.sort-controls .secondary{font-size:14px;padding:8px 12px;margin-top:16px}.fa-edit-mode main>section:not(#s-fa){display:none}.fa-edit-mode .intro,.fa-edit-mode #new-post{display:none}.fa-edit-mode #s-fa{margin-top:40px}.official-files{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:24px}.official-file{border:1px solid #58616d;padding:24px;background:#242930;border-radius:8px;min-width:0}.official-file img{width:100%;height:200px;object-fit:contain}.official-file h3{font-size:18px;overflow-wrap:anywhere}.official-file p{font-size:14px;color:#b2bbc8;overflow-wrap:anywhere}.fa-edit-mode #fa-editor-tools{position:relative}.fa-sort-grid .view-hint{display:none}
/* Compact thumbnails for the separate ordering workspace. */
.fa-sort-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;align-items:stretch}
.fa-sort-grid>.work{display:flex;flex-direction:column;border-radius:6px}
.fa-sort-grid .uploaded-visual{height:96px;aspect-ratio:auto;padding:8px;flex-shrink:0}
.fa-sort-grid .uploaded-visual img{max-width:100%;max-height:80px}
.fa-sort-grid .card-body{display:flex;flex-direction:column;flex:1;padding:8px}
.fa-sort-grid .fa-title{font-size:14px;line-height:1.45;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:2.9em}
.fa-sort-grid .badge{font-size:12px;margin-top:4px;padding:2px 0;background:none}
.fa-sort-grid .sort-controls{gap:4px;margin-top:auto;padding-top:8px}
.fa-sort-grid .sort-controls .secondary{flex:1;min-width:0;margin:0;padding:6px 2px;font-size:14px;line-height:1.2}
@media(max-width:580px){.fa-sort-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}}
.author-sort-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding-top:14px;font-size:14px;color:#c3ccd8}.author-sort-controls .secondary{margin:0;padding:8px 14px}.fa-tab[draggable=true]{cursor:grab}.fa-tab.drop-target{outline:2px solid #e1e8f2;outline-offset:-3px}
/* Fan art opens as a dedicated browser tab. */
body:not(.fa-page) #s-fa{display:none}
.fa-page main>section:not(#s-fa),.fa-page .fa-page-entry,.fa-page #new-post{display:none}
.fa-page #s-fa{margin-top:40px}
.fa-page-entry{margin:36px 0}
.fa-page-entry .secondary{display:inline-block;font-size:16px}
/* Each character field can be read independently. */
.character-note.character-fold{margin:0 0 12px;padding:0;border:1px solid #59616d;border-radius:6px;background:#24293080;overflow:hidden}
.character-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;font-size:16px;font-weight:500;line-height:1.6;color:#d3dbe7;cursor:pointer;list-style:none}
.character-fold>summary::-webkit-details-marker{display:none}
.character-fold>summary::after{content:'＋';flex-shrink:0;font-size:20px;color:#aeb9c9}
.character-fold[open]>summary::after{content:'−'}
.character-fold>summary:hover{background:#ffffff08}
.character-fold>summary:focus-visible{outline:2px solid #c1cedf;outline-offset:-4px}
.character-fold[open]>summary{border-bottom:1px solid #ffffff18}
.character-note.character-fold>p{padding:20px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:580px){.character-fold>summary{padding:16px}.character-note.character-fold>p{padding:16px}}

.header nav{flex-wrap:wrap;column-gap:24px;row-gap:8px}

/* Dedicated Works view; the home page starts with official references. */
.works-page main>section:not(#works),.works-page .fa-page-entry{display:none}
.works-page #works{margin:40px 0 64px}
#uploaded-works{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;overflow:visible;scroll-snap-type:none;padding:0}
#uploaded-works>.work{min-width:0;width:auto;flex:none;scroll-snap-align:none}
@media(max-width:900px){#uploaded-works{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){#uploaded-works{grid-template-columns:1fr;gap:22px}}

/* Three selected fan artworks on the home page. */
.featured-fa-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.featured-fa-card{padding:20px}
.featured-fa-image{display:block;width:100%;padding:0;background:#1b1f24;border:0}
.featured-fa-image img{display:block;width:100%;height:260px;object-fit:contain}
.featured-fa-card h3{margin:18px 0 8px;font-size:16px}
.featured-fa-card p{margin:0}
@media(max-width:700px){.featured-fa-grid{grid-template-columns:1fr}.featured-fa-image img{height:300px}}
