@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f2eee8;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;--ink:#f2eee8;--muted:#a7a0a0;--red:#c44148;--red-bright:#f06b68;--line:#ebded621;--page-bg:#101013;--surface:#f7f4ed;--surface-muted:#eee8df;--card-bg:linear-gradient(145deg, #ffffff0e, #ffffff04);--card-border:#ebded614;--nav:#d3ccca;--accent-text:#dc8278;--paper-ink:#292524;--paper-muted:#827a72;--serif:"Cormorant Garamond", "Times New Roman", serif;scroll-behavior:smooth;background:#101013;scroll-padding-top:90px;font-family:DM Sans,Segoe UI,sans-serif;font-weight:400}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#292524;--ink:#292524;--muted:#827a72;--red:#8b2b2e;--red-bright:#a63b3b;--line:#5b433729;--page-bg:#f7f4ed;--surface:#f7f4ed;--surface-muted:#eee8df;--card-bg:linear-gradient(145deg, #ffffffc7, #eee8df8c);--card-border:#5b433721;--nav:#554b45;--accent-text:#8b2b2e;--paper-ink:#292524;--paper-muted:#827a72;background:#f7f4ed}*{box-sizing:border-box}body{background:radial-gradient(ellipse at 50% 0%, #57262a1f, transparent 42rem), var(--page-bg);min-width:320px;min-height:100vh;margin:0;transition:background-color .35s,color .35s}:root[data-theme=light] body{background:radial-gradient(ellipse at 50% 0%, #8b2b2e0b, transparent 42rem), var(--page-bg)}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid var(--red-bright);outline-offset:4px}::selection{color:#fff8f1;background:var(--red)}.breathing-trial{--trial-color:#d98275;color:#f3eee8;background:radial-gradient(ellipse at 90% 0%, color-mix(in srgb, var(--trial-color) 13%, transparent), transparent 40%), linear-gradient(140deg, #191719, #111114 74%);isolation:isolate;border:1px solid #e27d702e;margin-top:40px;padding:28px;position:relative;box-shadow:0 18px 48px #00000024}.breathing-trial-water{--trial-color:#4a90d9}.breathing-trial-flame{--trial-color:#e67e22}.breathing-trial-thunder{--trial-color:#f5c518}.trial-intro{z-index:1;margin-bottom:22px;position:relative}.trial-kicker,.trial-prompt{color:var(--trial-color);letter-spacing:.18em;margin:0;font-size:10px}.trial-intro h3{font-family:var(--serif);letter-spacing:-.035em;margin:8px 0 3px;font-size:clamp(30px,3.8vw,42px);font-weight:400;line-height:1}.trial-intro>p:last-child{color:#f3eee8ab;margin:9px 0 0;font-size:13px;line-height:1.7}.trial-panel{background:#08080a57;border:1px solid #f7f0e91a;min-height:300px;position:relative;overflow:hidden}.trial-panel:before{border:1px solid color-mix(in srgb, var(--trial-color) 25%, transparent);width:290px;height:290px;box-shadow:0 0 0 18px color-mix(in srgb, var(--trial-color) 4%, transparent);content:"";pointer-events:none;border-radius:50%;position:absolute;top:-160px;right:-125px}.trial-style-select,.trial-round,.trial-result{min-height:300px;padding:27px 30px;position:relative}.trial-style-select{flex-direction:column;justify-content:center;display:flex}.trial-styles{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:17px;display:grid}.trial-style-button{border:1px solid color-mix(in srgb, var(--trial-color) 28%, transparent);color:#f3eee8;background:radial-gradient(ellipse at 80% 0%, color-mix(in srgb, var(--trial-color) 16%, transparent), transparent 60%), #ffffff06;min-height:142px;font:inherit;text-align:left;cursor:pointer;flex-direction:column;justify-content:center;align-items:flex-start;padding:15px 16px;transition:border-color .18s,background .18s,box-shadow .18s;display:flex;position:relative;overflow:hidden}.trial-style-button:hover{border-color:color-mix(in srgb, var(--trial-color) 72%, transparent);background:radial-gradient(ellipse at 80% 0%, color-mix(in srgb, var(--trial-color) 24%, transparent), transparent 66%), #ffffff0b;box-shadow:0 12px 30px color-mix(in srgb, var(--trial-color) 11%, transparent)}.trial-style-kanji{color:var(--trial-color);font-family:var(--serif);text-shadow:0 0 24px color-mix(in srgb, var(--trial-color) 32%, transparent);font-size:39px;line-height:1}.trial-style-name{font-family:var(--serif);margin-top:9px;font-size:22px}.trial-style-description{color:#f3eee894;margin-top:3px;font-size:11px}.trial-style-arrow{color:var(--trial-color);opacity:0;font-size:14px;transition:opacity .18s,transform .18s;position:absolute;bottom:14px;right:14px;transform:translate(-3px,3px)}.trial-style-button:hover .trial-style-arrow{opacity:1;transform:translate(0)}.trial-round{flex-direction:column;justify-content:center;display:flex}.trial-round-meta{color:#f3eee8b3;letter-spacing:.14em;justify-content:space-between;align-items:center;gap:14px;font-size:10px;display:flex}.trial-clock{color:var(--trial-color);font-variant-numeric:tabular-nums;letter-spacing:.08em;font-size:18px}.trial-clock-urgent{color:#ff7774;animation:.65s ease-in-out infinite alternate trial-tick}.trial-timer-track{background:#f7f0e91f;height:3px;margin-top:11px;overflow:hidden}.trial-timer-fill{width:100%;height:100%;box-shadow:0 0 14px color-mix(in srgb, var(--trial-color) 52%, transparent);display:block}.trial-form{text-align:center;margin:24px 0 20px}.trial-form-style{color:var(--trial-color);letter-spacing:.18em;margin:0 0 5px;font-size:9px}.trial-form h4{font-family:var(--serif);margin:0;font-size:clamp(28px,4vw,42px);font-weight:500;line-height:1.1}.trial-form-ru{color:#f3eee8d4;margin:5px 0 0;font-size:14px}.trial-form-description{color:#f3eee891;margin:5px 0 0;font-size:12px}.trial-answer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.trial-answer{border:1px solid color-mix(in srgb, var(--trial-color) 23%, transparent);color:#f3eee8d9;min-height:57px;font:inherit;text-align:left;cursor:pointer;background:#ffffff06;align-items:center;gap:10px;padding:10px 12px;font-size:12px;transition:border-color .18s,background .18s,color .18s,box-shadow .18s;display:flex}.trial-answer:hover,.trial-answer-selected{border-color:color-mix(in srgb, var(--trial-color) 72%, transparent);color:#fff;background:color-mix(in srgb, var(--trial-color) 13%, transparent)}.trial-answer-correct{background:#3dbe7721;border-color:#74d6a0;box-shadow:0 0 28px #3dbe7733}.trial-answer-wrong{background:#d53a4129;border-color:#ee7775}.trial-answer:disabled{cursor:default}.trial-answer-kanji{color:var(--trial-color);font-family:var(--serif);font-size:22px;line-height:1}.trial-answer-mark{color:var(--trial-color);margin-left:auto;font-size:14px}.trial-answer-correct .trial-answer-mark{color:#74d6a0}.trial-answer-wrong .trial-answer-mark{color:#ee7775}.trial-score{color:#f3eee88f;letter-spacing:.12em;text-align:center;margin:15px 0 0;font-size:10px}.trial-score strong{color:var(--trial-color);margin-left:5px;font-size:14px}.trial-flash{z-index:2;pointer-events:none;border:2px solid #0000;position:absolute;inset:0}.trial-flash-correct{background:radial-gradient(ellipse, color-mix(in srgb, var(--trial-color) 24%, transparent), transparent 72%);box-shadow:inset 0 0 52px color-mix(in srgb, var(--trial-color) 23%, transparent)}.trial-flash-wrong{background:radial-gradient(#dc3e4529,#0000 72%);box-shadow:inset 0 0 45px #dc3e452e}.trial-result{text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.trial-result-kanji{color:color-mix(in srgb, var(--trial-color) 12%, transparent);font-family:var(--serif);pointer-events:none;font-size:220px;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.trial-result>:not(.trial-result-kanji){z-index:1;position:relative}.trial-result h4{font-family:var(--serif);margin:14px 0 0;font-size:clamp(34px,5vw,48px);font-weight:400;line-height:1}.trial-result h4 span{color:var(--trial-color)}.trial-rank{color:var(--trial-color);font-family:var(--serif);margin:12px 0 0;font-size:25px}.trial-result-note{color:#f3eee8a6;max-width:430px;margin:9px 0 0;font-size:12px;line-height:1.7}.trial-restart{border:1px solid color-mix(in srgb, var(--trial-color) 52%, transparent);color:#f3eee8;background:color-mix(in srgb, var(--trial-color) 11%, transparent);min-height:40px;font:inherit;cursor:pointer;align-items:center;gap:14px;margin-top:17px;padding:0 14px;font-size:12px;transition:background .18s,border-color .18s;display:inline-flex}.trial-restart:hover{border-color:var(--trial-color);background:color-mix(in srgb, var(--trial-color) 19%, transparent)}.trial-restart span{color:var(--trial-color);font-size:16px}@keyframes trial-tick{to{opacity:.55}}@media (width<=620px){.breathing-trial{margin-top:30px;padding:18px 13px 13px}.trial-intro{margin-bottom:17px}.trial-kicker,.trial-prompt{font-size:9px}.trial-intro h3{font-size:32px}.trial-intro>p:last-child{font-size:12px}.trial-panel,.trial-style-select,.trial-round,.trial-result{min-height:310px}.trial-style-select,.trial-round,.trial-result{padding:20px 14px}.trial-styles{gap:7px;margin-top:14px}.trial-style-button{min-height:122px;padding:10px 8px}.trial-style-kanji{font-size:34px}.trial-style-name{font-size:19px}.trial-style-description{font-size:9px;line-height:1.4}.trial-style-arrow{bottom:7px;right:8px}.trial-round-meta{font-size:9px}.trial-form{margin:21px 0 17px}.trial-form h4{font-size:31px}.trial-form-ru{font-size:12px}.trial-form-description{font-size:11px}.trial-answer-grid{grid-template-columns:1fr;gap:7px}.trial-answer{min-height:46px;padding:8px 10px;font-size:12px}.trial-answer-kanji{font-size:20px}.trial-score{margin-top:11px;font-size:9px}}@media (prefers-reduced-motion:reduce){.trial-clock-urgent{animation:none}}#root{min-height:100vh}.site-header{z-index:5;justify-content:space-between;align-items:center;gap:32px;width:min(100% - 88px,1360px);min-height:86px;margin:0 auto;display:flex;position:relative}.brand{color:var(--ink);align-items:center;gap:12px;text-decoration:none;display:inline-flex}.sun-mark{width:35px;height:35px;stroke:var(--red-bright);stroke-width:1.4px;filter:drop-shadow(0 0 9px #f06b684d);flex:none}.brand span{gap:6px;line-height:1;display:grid}.brand strong{letter-spacing:.2em;font-size:14px}.brand small{color:var(--muted);letter-spacing:.2em;font-size:8px}.main-nav{align-items:center;gap:clamp(20px,3.2vw,48px);display:flex}.main-nav a,.header-link{color:var(--nav);font-size:11px;text-decoration:none;transition:color .18s}.main-nav a:hover,.header-link:hover{color:var(--red-bright)}.header-link{border:1px solid color-mix(in srgb, var(--red-bright) 50%, transparent);white-space:nowrap;align-items:center;gap:14px;padding:11px 15px;display:inline-flex}.header-link span{color:var(--red-bright)}.header-actions{align-items:center;gap:11px;display:flex}.theme-toggle{border:1px solid var(--line);min-height:39px;color:var(--nav);font:inherit;cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:7px;padding:0 10px;font-size:9px;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.theme-toggle:hover{border-color:var(--red-bright);color:var(--red-bright);background:#f06b680f}.theme-toggle svg{stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:15px;height:15px}.hero{isolation:isolate;color:#f7f0e9;background:#101013;align-items:center;min-height:min(760px,100svh - 86px);padding:70px max(9vw,50vw - 590px);display:flex;position:relative;overflow:hidden}.hero:before,.hero:after{z-index:1;content:"";pointer-events:none;position:absolute}.hero:before{border:1px solid #fff2e71c;inset:20px;-webkit-mask-image:linear-gradient(90deg,#000 0%,#0000 58%);mask-image:linear-gradient(90deg,#000 0%,#0000 58%)}.hero:after{border:1px solid #f06b6824;border-radius:50%;width:480px;height:480px;bottom:-240px;right:12%;box-shadow:0 0 0 28px #f06b6806,0 0 0 66px #f06b6805}.hero-content{z-index:2;max-width:590px;animation:.9s cubic-bezier(.2,.7,.2,1) both rise-in;position:relative}.eyebrow,.section-index{color:#e07974;letter-spacing:.22em;margin:0;font-size:9px;line-height:1.7}.eyebrow{color:#e9b5a2;align-items:center;gap:11px;display:flex}.eyebrow span{background:var(--red-bright);width:28px;height:1px;box-shadow:0 0 12px #f06b68cc}.hero h1{font-family:var(--serif);letter-spacing:-.065em;text-shadow:0 8px 36px #00000038;margin:26px 0 18px;font-size:clamp(68px,9.5vw,126px);font-weight:400;line-height:.82}.hero h1 span{color:#e7a391;text-shadow:0 0 42px #d3695d33;margin-top:12px;font-style:italic;font-weight:400;display:inline-block}.hero-description{color:#f7f0e9b8;max-width:365px;margin-top:26px;font-size:13px;line-height:1.95}.hero-actions{align-items:center;gap:28px;margin-top:32px;display:flex}.button{letter-spacing:.025em;justify-content:center;align-items:center;gap:24px;min-height:48px;padding:0 19px;font-size:10px;text-decoration:none;transition:transform .18s,background .18s,border-color .18s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:#fff8f1;background:linear-gradient(135deg,#bd3b43,#8e252e);border:1px solid #d65356;box-shadow:0 10px 32px #97252d3b}.button-primary:hover{background:linear-gradient(135deg,#d74e54,#a52e37);border-color:#f07873}.button-primary span{font-size:15px}.text-link{color:#f7f0e9cc;font-size:10px;text-decoration:none;transition:color .18s}.text-link:hover{color:#fff}.text-link span{color:#e7a391;margin-left:8px}.hero-art{z-index:0;background:linear-gradient(90deg,#101013 0%,#101013f5 24%,#101013cc 43%,#10101324 76% 100%),linear-gradient(#10101329,#0000 70%,#101013c7),url(/demon-slayer.jpg) 50% 43%/cover no-repeat;animation:1.2s both hero-reveal;position:absolute;inset:0;overflow:hidden}.hero-art:after{content:"";mix-blend-mode:screen;background:radial-gradient(at 76% 43%,#c36a5a1f,#0000 33%);animation:7s ease-in-out infinite alternate ember-breathe;position:absolute;inset:0}.hero-grain{opacity:.12;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.16'/%3E%3C/svg%3E");position:absolute;inset:0}.hero-caption,.hero-index{z-index:2;color:#f7f0e991;letter-spacing:.15em;font-size:8px;position:absolute;bottom:28px}.hero-caption{gap:24px;display:flex;left:max(9vw,50vw - 590px)}.hero-index{right:max(9vw,50vw - 590px)}.content-grid,.characters-section,.styles-section,.arcs-section{width:min(100% - 112px,1180px);margin:0 auto}.intro-section{grid-template-columns:1fr 2fr .8fr;align-items:start;gap:38px;padding-top:124px;padding-bottom:130px;display:grid;position:relative}.intro-section:after{content:"";background:linear-gradient(90deg, transparent, var(--line) 14%, var(--line) 86%, transparent);height:1px;position:absolute;bottom:0;left:0;right:0}.intro-copy h2,.section-heading h2,.styles-heading h2,.closing-section h2{font-family:var(--serif);letter-spacing:-.045em;margin:0;font-size:clamp(40px,4.5vw,60px);font-weight:400;line-height:.98}.intro-copy h2 em,.styles-heading h2 em{color:var(--accent-text);font-weight:400}.intro-copy>p{max-width:540px;color:var(--muted);margin:24px 0 0;font-size:12px;line-height:2}.intro-note{justify-self:end;padding-top:2px}.note-symbol{color:#e39b8ab3;font-family:var(--serif);text-shadow:0 0 36px #e39b8a24;font-size:64px;line-height:.9}.intro-note p{color:var(--muted);font-family:var(--serif);margin:13px 0 0;font-size:15px;line-height:1.6}.characters-section{padding-top:103px;padding-bottom:126px}.section-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.section-heading h2{margin-top:14px;font-size:clamp(42px,5vw,62px)}.section-aside{color:var(--muted);text-align:right;margin:0 0 5px;font-size:10px;line-height:1.9}.character-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:34px;padding:13px 0;display:flex}.character-toolbar>span{color:#b8ada9;letter-spacing:.18em;font-size:8px}.character-toolbar>span:last-child{color:var(--muted);font-size:9px}.character-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 17px;margin-top:24px;display:grid}.character-card{border:1px solid var(--card-border);min-width:0;color:inherit;background:var(--card-bg);font:inherit;text-align:left;cursor:pointer;transform-origin:50%;border-radius:3px;padding:7px;transition:background .25s,border-color .25s;position:relative}.character-card:hover{background:linear-gradient(145deg,#ffffff1a,#ffffff06)}.character-art{aspect-ratio:.87;background:#29262a;display:block;position:relative;overflow:hidden}.character-art:after{z-index:2;content:"";pointer-events:none;background:linear-gradient(#0d0c0f00 0%,#0d0c0f33 42%,#0d0c0fe0 100%);position:absolute;inset:30% 0 0}.character-art img,.character-dialog-image img{width:100%;height:100%;display:block;position:absolute;inset:0}.character-art-portrait{z-index:1;object-fit:contain;object-position:center}.character-dialog-image img{z-index:0;object-fit:contain;object-position:center}.character-art-portrait{padding:5px 8px 0;transition:transform .7s cubic-bezier(.2,.7,.2,1),filter .3s}.character-card:hover .character-art-portrait{filter:saturate(1.08)}.character-art-portrait{pointer-events:none}.art-number,.art-caption{z-index:3;color:#fff7ebc2;letter-spacing:.14em;font-size:8px;position:absolute;bottom:14px}.art-number{left:14px}.art-caption{right:14px}.character-message{color:var(--muted);margin:24px 0 0;font-size:13px;line-height:1.8}.character-error p{margin:0 0 18px}.character-info{justify-content:space-between;align-items:center;gap:12px;padding:14px 3px 4px;display:flex}.character-title{color:var(--muted);margin:0 0 5px;font-size:8px;display:block}.character-name{font-family:var(--serif);letter-spacing:-.025em;font-size:clamp(17px,1.7vw,22px);font-weight:500;display:block}.card-arrow{color:#e87872;align-self:flex-end;font-size:15px;transition:transform .18s}.character-card:hover .card-arrow{transform:translate(2px,-2px)}.character-dialog{border:1px solid var(--line);width:min(760px,100% - 32px);max-width:760px;max-height:min(680px,100% - 32px);color:var(--ink);background:var(--dialog-bg,#19181c);padding:0;box-shadow:0 24px 90px #0000008c,0 0 60px #a033371f}.character-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#09080bd1}.character-dialog-content{grid-template-columns:minmax(220px,.78fr) 1.22fr;min-height:470px;display:grid;position:relative}.character-dialog-close{z-index:2;border:1px solid var(--line);width:38px;height:38px;color:var(--ink);background:var(--dialog-close-bg,#161518e0);font:inherit;cursor:pointer;font-size:24px;line-height:1;transition:background .18s;position:absolute;top:14px;right:14px}.character-dialog-close:hover{background:var(--red)}.character-dialog-image{background:#29262a;min-height:100%;position:relative;overflow:hidden}.character-dialog-image img{padding:12px 10px}.character-dialog-details{align-self:center;padding:48px 38px}.character-dialog-details h2{font-family:var(--serif);letter-spacing:-.045em;margin:14px 0 24px;font-size:clamp(34px,4vw,48px);font-weight:500}.character-facts{flex-wrap:wrap;gap:12px 25px;margin:0 0 20px;display:flex}.character-facts div{gap:5px;display:grid}.character-facts dt{color:var(--muted);font-size:9px}.character-facts dd{margin:0;font-size:12px}.character-description{color:var(--dialog-muted,#bcb3b0);margin:0;font-size:12px;line-height:1.85}.character-quote{border-left:1px solid var(--red-bright);color:var(--dialog-accent,#e69b8a);font-family:var(--serif);margin:20px 0 0;padding-left:14px;font-size:16px;font-style:italic;line-height:1.6}.styles-section{border-top:1px solid var(--line);grid-template-columns:.9fr 1.1fr;align-items:center;gap:clamp(42px,9vw,130px);padding-top:96px;padding-bottom:108px;display:grid;position:relative}.styles-section:before{z-index:-1;content:"";pointer-events:none;background:radial-gradient(#69292e1c,#0000 68%);width:54vw;height:100%;position:absolute;top:2px;right:0}.styles-heading h2{margin-top:17px;font-size:clamp(42px,4.8vw,64px)}.styles-heading>p:last-child{max-width:340px;color:var(--muted);margin:20px 0 0;font-size:11px;line-height:1.9}.style-row{border-bottom:1px solid var(--line);min-height:72px;color:var(--ink);grid-template-columns:45px .8fr 1.6fr 18px;align-items:center;gap:15px;text-decoration:none;transition:padding .22s,color .22s,border-color .22s;display:grid;position:relative}.style-row:first-child{border-top:1px solid var(--line)}.style-row:hover{color:#f1a097;border-color:#f06b685c;padding-left:5px;padding-right:5px}.style-kanji{color:var(--accent-text);font-family:var(--serif);text-shadow:0 0 20px #f06b682e;font-size:29px}.style-name{font-family:var(--serif);font-size:21px}.style-detail{color:var(--muted);font-size:9px}.style-arrow{color:var(--red-bright);font-size:13px}.arcs-section{padding-top:10px;padding-bottom:130px}.arc-timeline{margin-top:52px;position:relative}.timeline-spine{background:linear-gradient(#0000,#e27d709e 8%,#e27d7047 92%,#0000);width:1px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.arc-entry{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(42px,8vw,110px);min-height:340px;padding:22px 0;display:grid;position:relative}.timeline-marker{z-index:3;color:#e6a18f;background:var(--page-bg);letter-spacing:.08em;border:1px solid #e27d708f;border-radius:50%;place-items:center;width:42px;height:42px;font-size:9px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.arc-card{color:#f7f0e9;isolation:isolate;background:#30272b;grid-column:1;min-height:285px;padding:27px;transition:transform .3s,box-shadow .3s;position:relative;overflow:hidden;box-shadow:0 18px 48px #0000002e}.arc-entry-reversed .arc-card{grid-column:2}.arc-card:hover{transform:translateY(-4px);box-shadow:0 18px 42px #00000047}.arc-scene{z-index:0;opacity:.48;will-change:transform;background:url(/demon-slayer.jpg) 50% 43%/cover no-repeat;position:absolute;inset:-14% 0}.arc-card:before{z-index:1;content:"";background:linear-gradient(110deg, #13111447, #131114c7), radial-gradient(ellipse at 82% 20%, var(--arc-glow), transparent 58%);transition:opacity .3s;position:absolute;inset:0}.arc-card:hover:before{opacity:.82}.arc-first{--arc-glow:#aa87656b;background:linear-gradient(140deg,#46554e,#302a2d 68%)}.arc-second{--arc-glow:#be715f6b;background:linear-gradient(140deg,#63454c,#29262b 70%)}.arc-third{--arc-glow:#b5664c70;background:linear-gradient(140deg,#765349,#29252a 70%)}.arc-card-content{z-index:2;flex-direction:column;justify-content:space-between;min-height:231px;display:flex;position:relative}.arc-number{color:#fff7ebb8;letter-spacing:.17em;font-size:8px}.arc-copy{z-index:2;max-width:380px;position:relative}.arc-copy p{color:#e8ad99;letter-spacing:.14em;margin:0 0 8px;font-size:8px}.arc-copy h3{max-width:370px;font-family:var(--serif);margin:0;font-size:clamp(32px,4vw,48px);font-weight:500;line-height:.95}.arc-description{color:#f7f0e9b8;max-width:310px;margin-top:14px;font-size:10px;line-height:1.8;display:block}.arc-decoration{color:#fff0dd33;font-family:var(--serif);pointer-events:none;font-size:clamp(72px,10vw,112px);transition:transform .4s,color .3s;position:absolute;top:-18px;right:2px}.arc-card:hover .arc-decoration{color:#fff0dd52;transform:rotate(-8deg)scale(1.08)}.closing-section{text-align:center;color:#f7f0e9;background:radial-gradient(at 50% 125%,#b433396b,#0000 52%),radial-gradient(at 50% -20%,#652e343d,#0000 58%),#171417;flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:65px 24px;display:flex;position:relative;overflow:hidden}.closing-section:before,.closing-section:after{content:"";pointer-events:none;border:1px solid #e27d701f;border-radius:50%;width:520px;height:520px;position:absolute;left:50%;transform:translate(-50%)}.closing-section:before{top:68%;box-shadow:0 0 0 27px #e27d7006,0 0 0 70px #e27d7005}.closing-section:after{width:360px;height:360px;top:82%}.closing-section>*{z-index:1;position:relative}.closing-section .sun-mark{width:41px;height:41px;margin-bottom:25px}.closing-section .section-index{color:#e6a18f}.closing-section h2{margin-top:17px;font-size:clamp(42px,5.5vw,68px)}.button-light{color:#f7f0e9;background:#ffffff04;border:1px solid #f7f0e952;margin-top:26px}.button-light:hover{background:#ffffff14;border-color:#f7f0e9b8}.site-footer{justify-content:space-between;align-items:center;gap:20px;width:min(100% - 88px,1360px);min-height:96px;margin:0 auto;display:flex}.footer-brand .sun-mark{width:29px;height:29px}.footer-brand strong{font-size:12px}.footer-brand small{font-size:7px}.site-footer>p,.site-footer>span{color:var(--muted);font-size:9px}.site-footer>span{letter-spacing:.1em;font-size:8px}@keyframes rise-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-reveal{0%{opacity:.65;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes ember-breathe{0%{opacity:.45;transform:scale(.96)}to{opacity:1;transform:scale(1.04)}}@media (width<=900px){.site-header{gap:18px;width:calc(100% - 48px)}.main-nav{gap:16px}.main-nav a{font-size:10px}.header-link{font-size:9px}.header-actions{gap:7px}.content-grid,.characters-section,.styles-section,.arcs-section{width:calc(100% - 64px)}.intro-section{grid-template-columns:.7fr 2fr;gap:26px;padding-top:92px;padding-bottom:98px}.intro-note{display:none}.character-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}.styles-section{gap:36px}.style-row{grid-template-columns:34px .75fr 1.5fr 15px;gap:10px}.arc-entry{gap:54px;min-height:300px}.arc-card{min-height:255px;padding:21px}.site-footer{width:calc(100% - 48px)}}@media (width<=620px){.site-header{flex-wrap:wrap;gap:0;width:calc(100% - 36px);min-height:74px;padding:10px 0}.sun-mark{width:30px;height:30px}.header-link{border:0;padding:8px 0;font-size:0}.header-link span{font-size:18px}.header-actions{gap:12px}.theme-toggle{border:0;gap:6px;min-height:32px;padding:0 7px;font-size:8px}.main-nav{border-top:1px solid var(--line);order:2;justify-content:space-between;width:100%;padding-top:12px}.main-nav a{font-size:9px}.hero{align-items:flex-start;min-height:650px;padding:72px 26px 84px}.hero:before{inset:10px;-webkit-mask-image:linear-gradient(#000 0%,#0000 56%);mask-image:linear-gradient(#000 0%,#0000 56%)}.hero:after{width:350px;height:350px;bottom:-190px;right:-165px}.hero-art{background:linear-gradient(#101013c2 0%,#101013b8 36%,#1010133d 100%),linear-gradient(90deg,#1010136b,#0000),url(/demon-slayer.jpg) 56%/cover no-repeat}.hero h1{margin-top:23px;font-size:clamp(66px,18vw,92px)}.hero-description{max-width:310px;font-size:12px}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px;margin-top:27px}.hero-caption{justify-content:space-between;gap:8px;font-size:6px;left:26px;right:26px}.hero-index{display:none}.character-grid{gap:22px 11px}.character-art{aspect-ratio:.78}.character-info{gap:6px;padding-top:11px}.character-name{font-size:16px}.character-dialog-content{grid-template-columns:1fr}.character-dialog-image{height:min(38vh,280px);min-height:0}.character-dialog-details{padding:25px 22px 30px}.content-grid,.characters-section,.styles-section,.arcs-section{width:calc(100% - 40px)}.intro-section{grid-template-columns:1fr;gap:20px;padding-top:77px;padding-bottom:80px}.intro-copy h2,.section-heading h2{font-size:43px}.intro-copy>p{font-size:11px}.characters-section{padding-top:76px;padding-bottom:86px}.section-heading{flex-direction:column;align-items:flex-start;gap:13px}.section-aside{display:none}.character-toolbar{flex-direction:column;align-items:flex-start;gap:12px;margin-top:25px}.character-grid{gap:22px 10px;margin-top:15px}.art-number{left:9px}.art-caption{font-size:6px;right:9px}.character-info{align-items:flex-start;gap:4px;padding-top:10px}.character-title{font-size:7px}.styles-section{grid-template-columns:1fr;gap:30px;padding-top:70px;padding-bottom:78px}.styles-heading h2{font-size:46px}.style-row{grid-template-columns:36px .8fr 1.7fr 14px;gap:8px;min-height:62px}.style-name{font-size:18px}.style-detail{font-size:8px}.arcs-section{padding-bottom:84px}.arc-timeline{margin-top:34px}.timeline-spine{left:14px}.arc-entry{grid-template-columns:minmax(0,1fr);gap:0;min-height:265px;padding:14px 0 14px 40px}.arc-entry-reversed .arc-card,.arc-card{grid-column:1;min-height:235px;padding:19px}.timeline-marker{width:34px;height:34px;left:14px;transform:translate(-50%,-50%)}.arc-card-content{min-height:195px}.arc-copy h3{font-size:clamp(32px,9vw,42px)}.arc-description{max-width:260px;font-size:9px}.arc-decoration{font-size:78px;top:-15px;right:-2px}.closing-section{min-height:320px}.closing-section h2{font-size:45px}.site-footer{flex-wrap:wrap;justify-content:space-between;width:calc(100% - 40px);min-height:110px;padding:16px 0}.site-footer>p{order:3;width:100%;margin:-4px 0 0}.site-footer>span{text-align:right;max-width:95px;line-height:1.6}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root[data-theme=light] .intro-section,:root[data-theme=light] .characters-section,:root[data-theme=light] .styles-section,:root[data-theme=light] .arcs-section,:root[data-theme=light] .site-footer{color:var(--ink)}:root[data-theme=light] .section-index{color:var(--accent-text)}:root[data-theme=light] .eyebrow{color:#e9b5a2}:root[data-theme=light] .intro-note .note-symbol{color:#8b2b2e57}:root[data-theme=light] .character-toolbar>span{color:var(--muted)}:root[data-theme=light] .character-card:hover{background:linear-gradient(145deg,#fffdfa,#eee8df)}:root[data-theme=light] .character-art:after{background:linear-gradient(#362b2600 0%,#4c39303d 42%,#372721d1 100%)}:root[data-theme=light] .art-number,:root[data-theme=light] .art-caption{color:#fff7ebc2}:root[data-theme=light] .character-dialog{--dialog-bg:#f7f4ed;--dialog-close-bg:#f7f4edeb;--dialog-muted:#665f58;--dialog-accent:#8b2b2e}:root[data-theme=light] .character-dialog::backdrop{background:#12111294}:root[data-theme=light] .character-dialog-close:hover{color:#fff8f1}:root[data-theme=light] .style-kanji{text-shadow:0 0 20px #8b2b2e1f}:root[data-theme=light] .site-footer>p,:root[data-theme=light] .site-footer>span{color:var(--muted)}:root[data-theme=light] .closing-section .section-index{color:#e6a18f}:root[data-theme=light] .hero,:root[data-theme=light] .closing-section,:root[data-theme=light] .arc-card{color:#f7f0e9}
