/* generated by scripts/build.js from public/css/: edit those, then npm run build */
@font-face{font-family: 'EB Garamond';font-style: normal;font-weight: 400 500;font-display: swap;src: url("/fonts/eb-garamond-0d7409bbae.woff2") format("woff2")}@font-face{font-family: 'EB Garamond';font-style: italic;font-weight: 400;font-display: swap;src: url("/fonts/eb-garamond-italic-fa013c9e51.woff2") format("woff2")}@font-face{font-family: 'Inter';font-style: normal;font-weight: 300 400;font-display: swap;src: url("/fonts/inter-9aec94ba32.woff2") format("woff2")}@font-face{font-family: 'Shippori Mincho';font-style: normal;font-weight: 400;font-display: swap;src: url("/fonts/shippori-mincho-chrome-f2a3ad3445.woff2") format("woff2");unicode-range: U+20-7E,U+B7,U+2039-203A,U+3072-3073,U+4F1A,U+4F59,U+51AC,U+53E5,U+590F,U+5B8C,U+65E5,U+6625,U+672C,U+685C,U+79CB,U+7D05,U+8449,U+86CD,U+8A00,U+8A9E,U+9593,U+96EA,U+97FB}@font-face{font-family: 'Shippori Mincho';font-style: normal;font-weight: 400;font-display: swap;src: url("/fonts/shippori-mincho-rest-d3f53e9bda.woff2") format("woff2");unicode-range: U+3000-3071,U+3074-30FF,U+3400-4DBF,U+4E00-4F19,U+4F1B-4F58,U+4F5A-51AB,U+51AD-53E4,U+53E6-590E,U+5910-5B8B,U+5B8D-65E4,U+65E6-6624,U+6626-672B,U+672D-685B,U+685D-79CA,U+79CC-7D04,U+7D06-8448,U+844A-86CC,U+86CE-89FF,U+8A01-8A9D,U+8A9F-9592,U+9594-96E9,U+96EB-97FA,U+97FC-9FFF,U+F900-FAFF,U+FF00-FFEF}@font-face{font-family: 'Shippori Mincho';font-style: normal;font-weight: 500;font-display: swap;src: url("/fonts/shippori-mincho-500-7cc6b7570c.woff2") format("woff2")}
@property --sky-a{syntax: '<color>';inherits: true;initial-value: transparent}@property --sky-b{syntax: '<color>';inherits: true;initial-value: transparent}@property --sky-a-x{syntax: '<percentage>';inherits: true;initial-value: 50%}@property --sky-a-y{syntax: '<percentage>';inherits: true;initial-value: 0%}@property --sky-a-w{syntax: '<percentage>';inherits: true;initial-value: 100%}@property --sky-a-h{syntax: '<percentage>';inherits: true;initial-value: 80%}@property --sky-b-x{syntax: '<percentage>';inherits: true;initial-value: 50%}@property --sky-b-y{syntax: '<percentage>';inherits: true;initial-value: 100%}@property --sky-b-w{syntax: '<percentage>';inherits: true;initial-value: 100%}@property --sky-b-h{syntax: '<percentage>';inherits: true;initial-value: 50%}@property --vignette{syntax: '<number>';inherits: true;initial-value: 0.5}@property --poem-light{syntax: '<color>';inherits: true;initial-value: transparent}@property --kanji-alpha{syntax: '<number>';inherits: true;initial-value: 0.034}@property --glow{syntax: '<color>';inherits: true;initial-value: #E6E1D8}@property --glyph-lift{syntax: '<length>';inherits: true;initial-value: 0px}:root{--ink-void: #0B0B0D;--ink-deep: #14141A;--ink-soft: #1F2026;--ink-black: #000000;--ink-raised: #16161D;--paper: #EDE8DF;--paper-dim: #9A968C;--paper-faint: #8E8A7D;--bg: #0B0B0D;--accent: #C9C4BA;--glow: #E6E1D8;--text: #EDE8DF;--veil-sheet: rgba(6, 7, 9, 0.78);--shadow-lift: 0 8px 30px rgba(0, 0, 0, 0.32);--atmosphere: radial-gradient(140% 110% at 50% 46%, transparent 52%, rgb(0 0 0 / var(--vignette)) 100%), radial-gradient(var(--sky-a-w) var(--sky-a-h) at var(--sky-a-x) var(--sky-a-y), var(--sky-a), transparent 70%), radial-gradient(var(--sky-b-w) var(--sky-b-h) at var(--sky-b-x) var(--sky-b-y), var(--sky-b), transparent 70%), var(--ink-void);--grain-opacity: 0.045;--glyph-halo: none;--paper-soft: color-mix(in srgb, var(--paper) 92%, var(--ink-void));--accent-quiet: color-mix(in srgb, var(--accent) 82%, var(--ink-void));--ring-quiet: color-mix(in srgb, var(--paper-faint) 40%, transparent);--font-verse: 'EB Garamond', serif;--font-label: 'Inter', sans-serif;--font-glyph: 'Shippori Mincho', serif;--type-1: 11px;--type-2: 12px;--type-3: 13px;--type-4: 15px;--track-wide: 0.46em;--track-label: 0.3em;--track-quiet: 0.12em;--ease-breath: cubic-bezier(0.4, 0, 0.2, 1);--ease-ink: cubic-bezier(0.22, 1, 0.36, 1);--dur-exit: 0.35s;--dur-hover: 0.5s;--dur-state: 0.6s;--dur-hush: 1.2s;--dur-reveal: 1.4s;--dur-season: 2.2s;--reveal-word: 0.1s;--reveal-rule: 0.4s;--reveal-line: 0.3s;--reveal-step: 0.4s;--reveal-turn: 0.6s;--reveal-under: 1.5s;--reveal-drift: 2.6s;--z-behind: -1;--z-ground: 0;--z-grain: 1;--z-above: 1;--z-particles: 2;--z-panel: 5;--z-chrome: 12;--z-chrome-over: 13;--z-menu: 14;--z-toast: 50;--z-sheet: 60;--edge-x: 38px;--linger-h: 44px;--target-min: 24px;--linger-gap: 10px;--linger-count-w: 128px;--linger-count-h: 18px;transition-property: --sky-a,--sky-b,--sky-a-x,--sky-a-y,--sky-a-w,--sky-a-h,--sky-b-x,--sky-b-y,--sky-b-w,--sky-b-h,--vignette,--poem-light,--kanji-alpha,--glow,--glyph-lift;transition-duration: var(--dur-season);transition-timing-function: var(--ease-breath)}[data-season="haru"]{--bg: #170E14;--accent: #E6A9C4;--glow: #F7D4E3;--text: #F4ECEE;--sky-a: rgb(70 26 52 / 0.55);--sky-a-x: 80%;--sky-a-y: -6%;--sky-a-w: 95%;--sky-a-h: 75%;--sky-b: rgb(120 60 72 / 0.16);--sky-b-x: 18%;--sky-b-y: 104%;--sky-b-w: 120%;--sky-b-h: 50%;--vignette: 0.5;--poem-light: rgb(247 212 227 / 0.05);--kanji-alpha: 0.034;--pt-1: #FCE6EF;--pt-2: #E6A9C4;--pt-3: #B9718F;--grain-opacity: 0.04;--glyph-halo: 0 0 14px rgba(247,212,227,0.30);--season-glyph: "春"}[data-season="natsu"]{--bg: #06110D;--accent: #A8DC95;--glow: #F2F4C2;--text: #E7F0E6;--sky-a: rgb(16 46 36 / 0.5);--sky-a-x: 50%;--sky-a-y: -12%;--sky-a-w: 130%;--sky-a-h: 70%;--sky-b: rgb(130 120 50 / 0.13);--sky-b-x: 50%;--sky-b-y: 108%;--sky-b-w: 100%;--sky-b-h: 45%;--vignette: 0.6;--poem-light: rgb(242 244 194 / 0.045);--kanji-alpha: 0.03;--pt-1: #F7F9CF;--pt-2: #D5EC8C;--pt-3: #A8DC95;--grain-opacity: 0.05;--glyph-halo: 0 0 12px rgba(242,244,194,0.22);--season-glyph: "夏";--glyph-lift: 6vh}[data-season="aki"]{--bg: #160C06;--accent: #DC9046;--glow: #F0BC6C;--text: #F3E7D6;--sky-a: rgb(48 22 30 / 0.45);--sky-a-x: 12%;--sky-a-y: -5%;--sky-a-w: 90%;--sky-a-h: 60%;--sky-b: rgb(150 72 24 / 0.18);--sky-b-x: 76%;--sky-b-y: 106%;--sky-b-w: 100%;--sky-b-h: 70%;--vignette: 0.7;--poem-light: rgb(240 188 108 / 0.045);--kanji-alpha: 0.034;--pt-1: #C0432A;--pt-2: #D97A38;--pt-3: #E6B458;--grain-opacity: 0.065;--glyph-halo: 0 0 16px rgba(240,188,108,0.34);--season-glyph: "秋"}[data-season="fuyu"]{--bg: #0C1116;--accent: #A7C2D6;--glow: #EEF6FB;--text: #EAF1F6;--sky-a: rgb(52 66 82 / 0.55);--sky-a-x: 50%;--sky-a-y: -18%;--sky-a-w: 150%;--sky-a-h: 85%;--sky-b: rgb(80 96 112 / 0.12);--sky-b-x: 50%;--sky-b-y: 112%;--sky-b-w: 140%;--sky-b-h: 45%;--vignette: 0.35;--poem-light: rgb(238 246 251 / 0.04);--kanji-alpha: 0.038;--pt-1: #F4F8FB;--pt-2: #C6D7E4;--pt-3: #A7C2D6;--grain-opacity: 0.055;--glyph-halo: 0 0 18px rgba(238,246,251,0.40);--season-glyph: "冬"}[data-season]{--accent-quiet: color-mix(in srgb, var(--accent) 82%, var(--ink-void))}[data-ground="amoled"]{--ink-void: #000000;--ink-deep: #070709;--ink-soft: #15151A;--paper-faint: #888477;--ink-raised: #0C0C10;--grain-opacity: 0.03}@media (prefers-reduced-motion: reduce){:root{transition-duration: 0.5s;transition-timing-function: linear}}
*{margin: 0;padding: 0;box-sizing: border-box}::selection{background: color-mix(in srgb,var(--accent) 28%,transparent);color: var(--paper)}html{scrollbar-width: thin;scrollbar-color: color-mix(in srgb,var(--paper-dim) 35%,transparent) transparent}::-webkit-scrollbar{width: 10px;height: 10px}::-webkit-scrollbar-track{background: transparent}::-webkit-scrollbar-thumb{background: color-mix(in srgb,var(--paper-dim) 35%,transparent);border-radius: 5px;border: 2px solid transparent;background-clip: padding-box}:focus-visible{outline: 1px solid var(--accent);outline-offset: 4px}html,body{height: 100%;overflow: hidden;background: var(--ink-void)}body{color: var(--paper);font-family: var(--font-verse);-webkit-font-smoothing: antialiased;transition: background var(--dur-season) var(--ease-breath)}[lang="ja"]{font-family: var(--font-glyph)}.sr-only{position: absolute;width: 1px;height: 1px;margin: -1px;padding: 0;overflow: hidden;clip-path: inset(50%);white-space: nowrap;border: 0}
.bg{position: fixed;inset: 0;z-index: var(--z-ground);transition: background var(--dur-season) var(--ease-breath);background: var(--atmosphere)}.grain{position: fixed;inset: 0;z-index: var(--z-grain);pointer-events: none;opacity: var(--grain-opacity);mix-blend-mode: overlay;background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.particles{position: fixed;inset: 0;z-index: var(--z-particles);pointer-events: none}.chrome{transition: opacity var(--dur-hush) var(--ease-breath)}body.hushed .chrome{opacity: 0;pointer-events: none}body.preboot .chrome{opacity: 0}.panel{position: fixed;inset: 0;z-index: var(--z-panel);opacity: 0;pointer-events: none;visibility: hidden;transition: opacity 1s var(--ease-breath),visibility 0s linear 1s}.panel.active{opacity: 1;pointer-events: auto;visibility: visible;transition: opacity 1s var(--ease-breath)}.panel:focus{outline: none}@media (hover: none){body.hushed .nav{opacity: 1;pointer-events: auto}}
.brand{position: fixed;top: 26px;left: var(--edge-x);z-index: var(--z-chrome);display: flex;align-items: baseline;gap: 15px;line-height: 1;text-decoration: none;cursor: pointer}.brand .glyph{font-family: var(--font-glyph);font-size: 42px;line-height: 1;color: var(--accent);text-shadow: var(--glyph-halo);transition: color var(--dur-season) var(--ease-breath),text-shadow var(--dur-state) var(--ease-breath),transform var(--dur-state) var(--ease-breath)}.brand .name{font-family: var(--font-label);font-weight: 300;font-size: var(--type-4);letter-spacing: var(--track-wide);text-transform: uppercase;color: var(--paper-dim);transition: color var(--dur-state) var(--ease-breath)}.brand:hover .glyph{transform: translateY(-1px)}.brand:hover .name{color: var(--paper)}.brand:focus-visible .name{color: var(--accent)}.brand:focus-visible .glyph{text-shadow: 0 0 16px color-mix(in srgb,var(--accent) 60%,transparent)}.nav{position: fixed;top: 24px;left: 0;right: 0;z-index: var(--z-menu);width: max-content;max-width: 100%;margin-inline: auto;display: flex;gap: clamp(18px,25vw - 140px,30px)}.nav a{display: flex;align-items: center;min-height: 44px;white-space: nowrap;background: none;border: none;cursor: pointer;text-decoration: none;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-dim);padding: 0 2px 0 calc(2px + var(--track-label));transition: color var(--dur-state) var(--ease-breath)}.nav a[aria-current="page"]{color: var(--accent)}.nav a:hover{color: var(--paper)}.nav a:focus-visible{color: var(--accent)}.nav-page{position: absolute}.leave-word{position: fixed;top: 24px;right: 31px;z-index: var(--z-chrome);display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;border-radius: 50%;text-decoration: none;font-family: var(--font-glyph);font-size: 20px;line-height: 1;color: var(--paper-faint);transition: color var(--dur-state) var(--ease-breath),opacity var(--dur-hush) var(--ease-breath)}.leave-word:hover{color: var(--paper-dim)}.leave-word:focus-visible{color: var(--accent)}@media (max-width: 820px){.nav{gap: clamp(7px,25vw - 86px,14px)}.nav a{letter-spacing: var(--track-quiet);padding-left: calc(2px + var(--track-quiet))}.leave-word{right: 9px}}@media (max-width: 640px){.brand{left: 18px;top: 16px}.brand .glyph{font-size: 36px}.brand .name{display: none}.nav{top: 60px}.leave-word{top: 106px;left: 14px;right: auto}body[data-mode="compose"] .leave-word,body[data-mode="kukai"] .leave-word{display: none}}@media (max-width: 380px){.brand{left: 14px}.leave-word{left: 10px}.nav{gap: clamp(2px,25vw - 86px,7px);padding-inline: 6px}.nav a{padding-left: 2px}}@media (max-width: 340px){.nav{gap: 6px;padding-inline: 4px}.nav a{letter-spacing: 0;padding-left: 2px}}@media (max-height: 480px) and (max-width: 900px){.brand{top: 12px;left: 16px}.brand .glyph{font-size: 34px}.brand .name{display: inline}.nav{top: 8px;right: 40px;gap: 2px}.nav a{letter-spacing: 0;padding-left: 2px}.leave-word{top: 150px;left: 11px;right: auto}body[data-mode="compose"] .leave-word,body[data-mode="kukai"] .leave-word{display: none}}@media (prefers-reduced-motion: reduce){.brand:hover .glyph{transform: none}}
.tlinger{display: flex;flex-wrap: wrap;justify-content: center;align-items: center;gap: 4px 18px;font-family: var(--font-label);font-weight: 300;font-size: var(--type-2);letter-spacing: var(--track-quiet);cursor: default}.tlinger-btn{display: inline-flex;align-items: center;gap: 12px;background: none;border: none;padding: 6px 8px 6px 0;border-radius: 2px;cursor: pointer;font: inherit;letter-spacing: inherit;color: var(--paper-dim);transition: color var(--dur-hover) var(--ease-breath)}.tlinger-btn:hover,.tlinger-btn[aria-pressed="true"]{color: var(--paper)}.tlinger-mark{position: relative;flex: none;border-radius: 50%;font-family: var(--font-glyph);font-size: 20px;line-height: 1;letter-spacing: 0;color: var(--paper-faint);transition: color var(--dur-hover) var(--ease-breath)}.tlinger-btn:hover .tlinger-mark,.tlinger-btn:focus-visible .tlinger-mark{color: color-mix(in srgb,var(--linger-c,var(--accent)) 40%,var(--paper-faint))}.tlinger-mark::before{content: attr(data-mark);position: absolute;inset: 0;color: var(--linger-c,var(--accent));clip-path: circle(0% at 50% 55%)}.tlinger-btn[aria-pressed="true"] .tlinger-mark{outline: 1px solid transparent;outline-offset: 4px}.tlinger-btn[aria-pressed="true"] .tlinger-mark::before{clip-path: circle(75% at 50% 55%)}.tlinger-count{color: var(--paper-faint);font-variant-numeric: tabular-nums}.read-linger .tlinger{position: relative;flex-direction: column;gap: 0;min-width: var(--linger-count-w)}.read-linger .tlinger-count{min-height: var(--linger-count-h);white-space: nowrap}.read-linger .tlinger-btn,.linger-slot .tlinger-btn{min-height: var(--linger-h)}.linger-slot{min-height: var(--linger-h);margin-top: 32px}.linger-slot .tlinger{justify-content: flex-start}@media (max-width: 340px),(max-height: 480px) and (max-width: 900px){.read-linger .tlinger-btn{min-height: var(--target-min);padding-block: 3px}}@media (max-height: 480px) and (max-width: 900px){.read-linger .tlinger{flex-direction: row;padding-right: var(--linger-count-w)}.read-linger .tlinger-count{position: absolute;right: 0;width: var(--linger-count-w);min-height: 0}}@media (prefers-reduced-motion: no-preference){.tlinger-mark::before{transition: clip-path var(--dur-state) var(--ease-breath)}.tlinger-btn[aria-pressed="true"] .tlinger-mark::before{transition-timing-function: var(--ease-ink)}}
.verse-light::before{content: "";position: absolute;inset: 0;z-index: var(--z-behind);pointer-events: none;background: radial-gradient(46% 38% at 50% 34%,var(--poem-light),transparent 70%)}.glyph-bg{position: absolute;inset: 0;z-index: var(--z-behind);pointer-events: none;overflow: hidden;font-family: var(--font-glyph);font-weight: 500;font-size: clamp(420px,max(110vmin,62vh),1300px);line-height: 1;color: var(--glow);opacity: var(--kanji-alpha);-webkit-mask-image: linear-gradient(to bottom,var(--ink-black) 34%,transparent 96%);mask-image: linear-gradient(to bottom,var(--ink-black) 34%,transparent 96%)}.glyph-layer{position: absolute;inset: 0;display: flex;align-items: center;justify-content: center;transform: translateY(calc(-4vh - var(--glyph-lift)))}.season-word{position: relative;font-family: var(--font-label);font-size: var(--type-1);font-weight: 400;text-transform: uppercase;letter-spacing: var(--track-wide);color: var(--accent-quiet);text-shadow: var(--glyph-halo);margin-bottom: 52px;padding-bottom: 18px;text-wrap: balance}.season-word [lang="ja"]{font-size: 1.3em;line-height: 1;letter-spacing: 0.16em}.season-word::after{content: "";position: absolute;left: 50%;bottom: 0;width: 64px;height: 1px;transform: translateX(-50%);background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 60%,transparent),transparent)}.poem{--verse-pref: clamp(2.7rem, 2.25vw, 3.4rem);font-size: max(14px,min(var(--verse-pref),calc(97cqi / var(--verse-em,16))));display: flex;flex-direction: column;align-items: center;max-width: 100%}.poem .line{font-size: 1em;font-style: italic;font-synthesis-style: none;font-weight: 400;line-height: 1.95;color: var(--text);white-space: nowrap;letter-spacing: 0.01em}.poem[data-fit="wrap"] .line{align-self: stretch;white-space: normal;text-wrap: balance;padding-left: 1em;text-indent: -1em}@supports not (width: 1cqi){.poem{font-size: var(--verse-pref)}.poem:not(.jp) .line{align-self: stretch;white-space: normal;text-wrap: balance;padding-left: 1em;text-indent: -1em}}.verse-measure{position: fixed;top: 0;left: 0;visibility: hidden;pointer-events: none;font-family: var(--font-verse);font-size: 100px;font-style: italic;font-synthesis-style: none;font-weight: 400;letter-spacing: 0.01em;white-space: nowrap}@media (max-width: 1919px){.poem{--verse-pref: clamp(1.7rem, 3.6vw, 2.7rem)}}@media (max-height: 880px){.season-word{margin-bottom: 22px}.poem{--verse-pref: clamp(1.7rem, min(3.6vw, 7.2vh), 2.7rem)}.poem .line{line-height: 1.7}}@media (max-width: 640px){.season-word{margin-bottom: clamp(12px,10vh - 45px,36px)}.poem{--verse-pref: clamp(1.3rem, 6.2vw, 1.6rem)}.poem .line{line-height: 1.7}}@media (prefers-reduced-motion: no-preference){@keyframes stageIn{from{opacity: 0}to{opacity: 1}}@keyframes stageRule{from{width: 0}}}
.glyph-layer{opacity: 0;transition: opacity var(--dur-season) var(--ease-breath)}.glyph-layer.on{opacity: 1}body.preboot .glyph-layer{opacity: 0}.back-kukai{position: fixed;top: 78px;left: 0;right: 0;z-index: var(--z-chrome-over);width: max-content;margin-inline: auto;background: none;border: 1px solid var(--ink-soft);border-radius: 40px;color: var(--paper-dim);cursor: pointer;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;padding: 9px 18px;transition: color var(--dur-hover) var(--ease-breath),border-color var(--dur-hover) var(--ease-breath),transform var(--dur-hover) var(--ease-breath)}.back-kukai:hover{color: var(--paper);border-color: var(--accent);transform: translateY(1px)}.back-kukai[hidden]{display: none}.ground-toggle{position: fixed;bottom: 30px;left: var(--edge-x);z-index: var(--z-chrome);display: flex;align-items: center;gap: 10px;background: none;border: none;cursor: pointer;padding: 4px 2px;color: var(--paper-dim);transition: color var(--dur-state) var(--ease-breath),opacity var(--dur-hush) var(--ease-breath)}.ground-toggle:hover{color: var(--paper)}.ground-toggle:focus-visible{color: var(--accent);border-radius: 40px}.ground-toggle .gt-dot{width: 13px;height: 13px;border-radius: 50%;flex: none;border: 1px solid currentColor;background: linear-gradient(90deg,var(--ink-black) 0 50%,var(--paper-dim) 50% 100%);transition: background var(--dur-state) var(--ease-breath)}.ground-toggle.amoled .gt-dot{background: linear-gradient(90deg,var(--ink-black) 0 50%,var(--accent) 50% 100%)}.ground-toggle .gt-label{font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase}.sound-toggle{position: fixed;top: 90px;left: var(--edge-x);z-index: var(--z-chrome);display: flex;align-items: center;gap: 12px;cursor: pointer;padding: 9px 16px 9px 13px;color: var(--paper);background: color-mix(in srgb,var(--accent) 7%,transparent);border: 1px solid color-mix(in srgb,var(--accent) 28%,var(--ink-soft));border-radius: 40px;-webkit-backdrop-filter: blur(6px);backdrop-filter: blur(6px);transition: color var(--dur-state) var(--ease-breath),border-color var(--dur-state) var(--ease-breath),background var(--dur-state) var(--ease-breath),opacity var(--dur-hush) var(--ease-breath),transform var(--dur-state) var(--ease-breath)}.sound-toggle[hidden]{display: none}.sound-toggle:hover{color: var(--accent);border-color: color-mix(in srgb,var(--accent) 55%,transparent);background: color-mix(in srgb,var(--accent) 13%,transparent)}.sound-toggle:focus-visible{border-color: var(--accent)}.sound-toggle .sound-label{font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;transition: color var(--dur-state) var(--ease-breath)}.sound-glyph{display: inline-flex;align-items: center;gap: 3px;height: 16px}.sound-glyph .wave{width: 2.5px;border-radius: 2px;background: currentColor;transform-origin: center;opacity: 0.7;transition: height var(--dur-hover) var(--ease-breath),opacity var(--dur-hover) var(--ease-breath),background var(--dur-state) var(--ease-breath)}.sound-glyph .w1{height: 6px}.sound-glyph .w2{height: 13px}.sound-glyph .w3{height: 8px}.sound-toggle.on{color: var(--accent);border-color: color-mix(in srgb,var(--accent) 50%,transparent);background: color-mix(in srgb,var(--accent) 12%,transparent)}.sound-toggle.on .sound-glyph .wave{opacity: 1;background: var(--accent)}.seasons{position: fixed;right: 31px;top: 50%;transform: translateY(-50%);z-index: var(--z-chrome);display: flex;flex-direction: column;gap: 10px;align-items: center}.seasons button{position: relative;display: flex;align-items: center;justify-content: center;min-width: 44px;min-height: 44px;border-radius: 50%;background: none;border: none;cursor: pointer;font-family: var(--font-glyph);font-size: 25px;line-height: 1;color: var(--paper-faint);writing-mode: vertical-rl;letter-spacing: 0.1em;padding: 3px;transition: color 0.7s var(--ease-breath)}.season-glyph{transition: transform 0.7s var(--ease-breath)}.season-name{position: absolute;right: 100%;top: 50%;transform: translateY(-50%);margin-right: 4px;white-space: nowrap;pointer-events: none;writing-mode: horizontal-tb;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;transition: opacity var(--dur-hover) var(--ease-breath)}[data-mode="kukai"] .season-name{opacity: 0}[data-mode="kukai"] :where(button:hover,button:focus-visible) .season-name{opacity: 1}body[data-mode="compose"] .seasons{display: none}.seasons button:hover{color: var(--paper-dim)}.seasons button:focus-visible{color: var(--paper)}.seasons button.active{color: var(--accent)}.seasons button.active .season-glyph{transform: scale(1.16);text-shadow: 0 0 14px color-mix(in srgb,var(--glow) 35%,transparent)}.hint{position: fixed;bottom: 34px;right: 40px;z-index: var(--z-chrome);font-family: var(--font-label);font-size: var(--type-1);font-weight: 400;letter-spacing: var(--track-label);color: var(--paper-faint);text-transform: uppercase}body:not([data-mode="read"]) .hint{opacity: 0}@media (max-width: 820px){.seasons{right: 9px;gap: 6px}.seasons button{font-size: 22px;writing-mode: horizontal-tb;flex-direction: column;gap: 4px}.season-name{position: static;transform: none;margin: 0;letter-spacing: var(--track-quiet);text-transform: none;line-height: 1}.hint{display: none}}@media (max-width: 640px){.sound-toggle{top: 14px;left: 64px;width: 40px;height: 40px;padding: 0;justify-content: center}.sound-toggle .sound-label{display: none}.ground-toggle{bottom: auto;top: 12px;left: 108px;width: 44px;height: 44px;padding: 0;justify-content: center}.ground-toggle .gt-label{display: none}body[data-mode="compose"] .ground-toggle,body[data-mode="kukai"] .ground-toggle{display: none}.seasons{top: 12px;right: 12px;left: auto;transform: none;flex-direction: row;gap: 6px;align-items: flex-start}.seasons button{font-size: 20px;padding: 4px 2px;min-width: 28px;min-height: 0;text-align: center}[data-mode="kukai"] .seasons .season-name{opacity: 1}.back-kukai{top: 110px}}@media (max-width: 380px){.sound-toggle{left: 56px}.ground-toggle{left: 98px}.seasons{top: 22px;right: 14px;gap: 12px;align-items: center}.seasons button{font-size: 18px}.season-name{display: none}}@media (max-height: 560px){.seasons{gap: 4px}}@media (max-height: 480px) and (max-width: 900px){.seasons{top: 14px;right: 16px;left: auto;transform: none;flex-direction: row;gap: 12px}.seasons button{writing-mode: horizontal-tb;font-size: 18px;min-width: 0;min-height: 0}.season-name{display: none}.sound-toggle{top: 60px;left: 14px;width: 40px;height: 40px;padding: 0;justify-content: center}.sound-toggle .sound-label{display: none}.ground-toggle{bottom: auto;top: 104px;left: 12px;width: 44px;height: 44px;padding: 0;justify-content: center}.ground-toggle .gt-label{display: none}body[data-mode="compose"] .ground-toggle,body[data-mode="kukai"] .ground-toggle{display: none}.back-kukai{top: 56px;left: auto;right: 16px;margin: 0}.hint{display: none}}@media (hover: none){[data-mode="kukai"] :where(button:hover:not(:focus-visible)) .season-name{opacity: 0}}@media (prefers-reduced-motion: no-preference){.glyph-ink{animation: glyphBreath 18s ease-in-out infinite alternate}@keyframes glyphBreath{from{opacity: 1}to{opacity: 0.7}}.sound-toggle:not(.on){animation: sndInvite 4.4s var(--ease-breath) infinite}.sound-toggle:not(.on):hover{animation: none}body.hushed .sound-toggle:not(.on){animation: none}.sound-toggle.on .sound-glyph .w1{animation: sndWave 2.6s var(--ease-breath) infinite}.sound-toggle.on .sound-glyph .w2{animation: sndWave 2.6s var(--ease-breath) 0.3s infinite}.sound-toggle.on .sound-glyph .w3{animation: sndWave 2.6s var(--ease-breath) 0.6s infinite}@keyframes sndInvite{0%,100%{border-color: color-mix(in srgb,var(--accent) 24%,var(--ink-soft))}50%{border-color: color-mix(in srgb,var(--accent) 60%,transparent)}}@keyframes sndWave{0%,100%{transform: scaleY(0.55)}50%{transform: scaleY(1)}}}@media (prefers-reduced-motion: reduce){.back-kukai:hover{transform: none}.glyph-layer{transition: opacity 0.5s linear}}
.ghost{background: none;border: 1px solid var(--ink-soft);color: var(--paper-dim);font-family: var(--font-label);font-size: var(--type-1);font-weight: 400;text-transform: uppercase;letter-spacing: var(--track-label);padding: 10px 18px;border-radius: 40px;cursor: pointer;white-space: nowrap;transition: color var(--dur-hover) var(--ease-breath),border-color var(--dur-hover) var(--ease-breath)}.ghost:hover{color: var(--paper);border-color: var(--accent)}.ghost.solid{border-color: var(--accent);color: var(--accent)}.ghost:disabled{color: var(--paper-faint);border-color: var(--ink-soft);cursor: default;pointer-events: none}.action-row .ghost{display: inline-flex;align-items: center;gap: 9px}.btn-ico{width: 14px;height: 14px;flex: none;display: block}.btn-ico path{fill: none;stroke: currentColor;stroke-width: 1.4;stroke-linecap: round;stroke-linejoin: round}.ico-sheet,[data-share="sheet"] .ico-link{display: none}[data-share="sheet"] .ico-sheet{display: block}.toast{position: fixed;bottom: 132px;left: 50%;transform: translateX(-50%) translateY(12px);z-index: var(--z-toast);background: color-mix(in srgb,var(--ink-deep) 82%,transparent);-webkit-backdrop-filter: blur(8px);backdrop-filter: blur(8px);border: 1px solid color-mix(in srgb,var(--accent) 22%,var(--ink-soft));color: var(--paper);font-family: var(--font-label);font-size: var(--type-2);letter-spacing: var(--track-quiet);padding: 12px 22px;border-radius: 40px;opacity: 0;pointer-events: none;transition: opacity var(--dur-hover) var(--ease-breath),transform var(--dur-hover) var(--ease-breath)}.toast.show{opacity: 1;transform: translateX(-50%) translateY(0)}.toast.lasting{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 6px 14px;pointer-events: auto;width: max-content;max-width: min(620px,92vw);padding-block: 6px}.toast.lasting .toast-msg{text-align: center;text-wrap: balance}[data-mode="compose"] .toast{bottom: 22px}.toast.has-field{display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 10px 14px;pointer-events: auto;width: min(620px,92vw)}.toast-field{flex: 1 1 22ch;min-width: 0;padding: 6px 0;background: none;border: none;border-bottom: 1px solid var(--ink-soft);color: var(--paper-dim);font: inherit;letter-spacing: inherit}.toast-field:focus-visible{outline-color: transparent;border-bottom-color: var(--accent);color: var(--paper)}.toast .toast-action{padding: 6px 16px}@media (max-width: 640px){.toast{bottom: 116px;width: max-content;max-width: 88vw}[data-mode="compose"] .toast{top: 104px;bottom: auto}.toast.has-field{width: 88vw}.toast.lasting{max-width: 88vw}.action-row .ghost,.toast .toast-action{min-height: 44px}}@media (prefers-reduced-motion: reduce){.toast,.toast.show{transform: translateX(-50%);transition: opacity var(--dur-hover) var(--ease-breath)}}
.panel-read{display: flex}.intro{position: absolute;inset: 0;z-index: var(--z-above);pointer-events: none;display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 34px;text-align: center;padding: 0 8vw;transition: opacity var(--dur-hush) var(--ease-breath)}.intro-title{margin: 0;font-weight: 400;display: flex;flex-direction: column;align-items: center;gap: 18px}.intro-glyph{font-family: var(--font-glyph);font-size: 56px;line-height: 1;color: var(--accent)}.intro-name{font-family: var(--font-label);font-weight: 300;font-size: var(--type-3);letter-spacing: var(--track-wide);text-transform: uppercase;color: var(--paper-dim);padding-left: var(--track-wide)}.intro-tag{font-family: var(--font-verse);font-style: italic;font-size: 1.15rem;color: var(--paper-dim)}.intro-links{margin: 0;pointer-events: auto;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-faint)}.intro-links a{display: inline-block;padding: 14px 4px 14px calc(4px + var(--track-label));color: var(--paper-dim);text-decoration: none;transition: color var(--dur-state) var(--ease-breath)}.intro-links a:hover,.intro-links a:focus-visible{color: var(--accent)}.intro.is-quiet{opacity: 0}.intro.is-quiet .intro-links{visibility: hidden;transition: visibility 0s linear 1.2s}.panel-read::before{opacity: 0;transition: opacity var(--dur-season) var(--ease-breath)}.panel-read.active::before{opacity: 1}.stage{height: 100%;width: 100%;display: flex;flex-direction: column;align-items: center;text-align: center;padding: 112px 8vw 132px;overflow-y: auto;overflow-x: hidden;scrollbar-width: none;container-type: inline-size}.stage > :first-child{margin-top: auto}.stage > :last-child{margin-bottom: auto}.stage::-webkit-scrollbar{width: 0}.verse{display: flex;flex-direction: column;align-items: center;max-width: 100%}.season-word{opacity: 0;transition: opacity var(--dur-hush) var(--ease-breath)}.season-word.show{opacity: 1}.season-word::after{transition: width 1.8s var(--ease-ink) 0.3s}.season-word:not(.show)::after{width: 0}.today-mark{display: block;margin-bottom: 14px;font-family: var(--font-verse);font-style: italic;font-weight: 400;font-size: 15px;letter-spacing: 0.03em;text-transform: none;color: var(--paper-faint)}.poem .line{opacity: 0;transition: opacity var(--dur-reveal) var(--ease-ink)}.poem .line.faint{color: var(--paper-dim)}.poem .line.show{opacity: 1}.poem.leaving .line{opacity: 0;transition: opacity var(--dur-exit) var(--ease-ink)}.meta{margin-top: 56px;max-width: 100%;opacity: 0;transition: opacity var(--dur-exit) var(--ease-ink)}.meta.show{opacity: 1;transition: opacity var(--dur-hush) var(--ease-breath) 0.2s}.meta .author{font-style: italic;font-size: 18px;color: var(--paper-dim);letter-spacing: 0.03em}.meta::before{content: "·";display: block;color: var(--accent);opacity: 0.4;font-size: 20px;line-height: 1;margin-bottom: 18px;transition: opacity var(--dur-hush) var(--ease-breath)}.meta{position: relative}.read-ways{position: absolute;top: 100%;left: 50%;transform: translateX(-50%);width: max-content;max-width: 88vw;margin-top: 22px;display: flex;flex-direction: column;align-items: center;gap: var(--linger-gap)}.read-acts{display: flex;justify-content: center;align-items: flex-start;column-gap: 8px;visibility: hidden;transition: visibility 0s linear var(--dur-exit)}.meta.show .read-acts{visibility: visible;transition: visibility 0s}.read-share{display: inline-flex;align-items: center;gap: 10px;min-height: var(--linger-h);background: none;border: none;padding: 6px 2px 6px 8px;border-radius: 2px;cursor: pointer;font-family: var(--font-label);font-weight: 300;font-size: var(--type-2);letter-spacing: var(--track-quiet);color: var(--paper-dim);transition: color var(--dur-hover) var(--ease-breath)}.read-share:hover,.read-share:focus-visible{color: var(--paper)}.read-offer{margin: 0;font-style: italic;font-size: 15px;color: var(--paper-faint);text-wrap: balance}body:not([data-mode="read"]) .read-ways,.back-kukai:not([hidden]) ~ main .read-offer{display: none}.read-retry{margin-top: 40px;min-height: 44px}.poem.jp{display: flex;flex-direction: row-reverse;align-items: flex-start;justify-content: center;gap: clamp(20px,4vw,52px);max-width: none;margin: 4px auto 0}.poem.jp .line{font-family: var(--font-glyph);writing-mode: vertical-rl;text-orientation: upright;line-height: 1.18;font-size: clamp(2.2rem,5.2vw,3.6rem);letter-spacing: 0.1em;color: var(--text)}.read-controls{position: fixed;bottom: 22px;left: 0;right: 0;z-index: var(--z-chrome-over);width: max-content;max-width: 100%;margin-inline: auto;padding-inline: 12px;display: flex;flex-wrap: wrap;align-items: center;justify-content: center;gap: 0 10px}.read-controls::after{content: "";order: 1;flex-basis: 100%;display: none}.read-controls .arrows + .ghost{margin-left: 16px}.dots{display: flex;gap: 14px;padding-inline: 4px}.dot{width: 6px;height: 6px;border-radius: 50%;background: var(--paper-dim);border: none;padding: 0;position: relative;opacity: 0.35;cursor: pointer;transition: background-color var(--dur-hover) var(--ease-breath),opacity var(--dur-hover) var(--ease-breath),transform var(--dur-hover) var(--ease-breath),box-shadow var(--dur-hover) var(--ease-breath)}.dot::after{content: "";position: absolute;inset: -19px -7px}.dot.active{background: var(--accent);opacity: 1;transform: scale(1.5);box-shadow: 0 0 10px var(--accent)}.dot:focus-visible{opacity: 1}.read-count{display: none;margin: 0;min-width: 7ch;text-align: center;font-family: var(--font-label);font-size: var(--type-2);font-weight: 300;letter-spacing: var(--track-quiet);color: var(--paper-dim);font-variant-numeric: tabular-nums}.unreadable .read-controls{display: none}.arrows button{display: flex;align-items: center;justify-content: center;width: 44px;height: 44px;border-radius: 50%;background: none;border: none;cursor: pointer;color: var(--paper-dim);font-size: 24px;line-height: 1;padding: 0 0 3px;transition: color 0.4s,transform 0.4s var(--ease-breath)}.arrows button:hover{color: var(--accent);transform: scale(1.2)}.arrows button:focus-visible{color: var(--accent)}.read-controls .ghost{order: 2;border-color: transparent;min-height: 40px;padding: 0 12px;letter-spacing: var(--track-quiet)}.read-controls .ghost:hover{border-color: transparent}.read-controls .ghost.solid{border-color: transparent}.read-controls .ghost:focus-visible{color: var(--accent)}.read-page{display: inline-flex;align-items: center;text-decoration: none}.read-page[hidden]{display: none}.lang-btn .swap{font-size: var(--type-1);padding: 0 2px}.lang-btn .swap,.lang-btn{font-variant-numeric: tabular-nums}.lang-btn[hidden]{display: block;visibility: hidden}@media (max-width: 1919px){.stage{padding-bottom: 192px}.read-controls::after{display: block}.read-controls .arrows + .ghost{margin-left: 0}}@media (max-height: 880px){.read-ways{position: static;transform: none;margin: 8px auto 0}.stage{padding-top: 96px;padding-bottom: 128px}.meta{margin-top: 18px}.meta::before{margin-bottom: 12px}}@media (max-width: 640px){.stage{padding: 112px 6vw 144px}.meta{margin-top: clamp(12px,10vh - 45px,36px)}.read-ways{margin-top: 14px}.read-controls{bottom: max(12px,env(safe-area-inset-bottom));gap: 0 4px}.read-controls .ghost{min-height: 44px;padding: 0 8px}}@media (max-width: 640px),(max-height: 480px) and (max-width: 900px){.dots{display: none}.read-count:not(:empty){display: block}}@media (max-width: 380px){.read-controls{padding-inline: 4px}.stage{padding-top: 148px}}@media (max-width: 340px),(max-height: 480px) and (max-width: 900px){.stage{padding-bottom: 112px}.season-word{margin-bottom: 24px}.meta{margin-top: 24px}.read-offer{display: none}.read-share{min-height: var(--target-min);padding-block: 3px}}@media (max-height: 560px){.stage{padding-top: 76px;padding-bottom: 112px}.season-word{margin-bottom: 20px;padding-bottom: 12px}.poem{--verse-pref: clamp(1.2rem, min(3.6vw, 6.6vh), 2.7rem)}.poem .line{line-height: 1.45}.meta{margin-top: 18px}.meta::before{margin-bottom: 8px}.read-offer{display: none}.read-ways{margin-top: 6px}}@media (max-height: 480px) and (max-width: 900px){.stage{padding: 58px 12vw 54px}.read-controls{bottom: max(4px,env(safe-area-inset-bottom));gap: 0 4px;padding-inline: 4px}.read-controls::after{display: none}.read-controls .ghost{min-height: 44px;padding: 0 5px;letter-spacing: var(--track-quiet)}.read-controls .arrows + .ghost{margin-left: 8px}}@media (prefers-reduced-motion: reduce){.intro{transition: opacity 0.4s}.poem .line{transition: opacity 0.6s}.season-word::after{transition: none}.poem.leaving .line{transition: opacity 0.3s}}
.compose-wrap{height: 100%;display: flex;flex-direction: column;align-items: center;padding: 96px 6vw 48px;overflow-y: auto;scrollbar-width: none}.compose-title{font-family: var(--font-label);font-weight: 300;font-size: var(--type-2);letter-spacing: var(--track-wide);text-transform: uppercase;color: var(--accent-quiet);margin-top: auto;margin-bottom: 46px;text-align: center;text-wrap: balance}.composer{width: min(640px,88vw)}.composer .row{display: flex;align-items: center;gap: 22px;position: relative;border-bottom: 1px solid var(--ink-soft);padding: 8px 0;transition: border-color 0.7s var(--ease-breath)}.composer .row.ok{border-color: var(--accent)}.composer .row::after{content: "";position: absolute;left: 50%;bottom: -1px;width: 0;height: 1px;transform: translateX(-50%);background: linear-gradient(90deg,transparent,color-mix(in srgb,var(--accent) 65%,transparent),transparent);transition: width var(--dur-reveal) var(--ease-ink)}.composer .row:focus-within::after{width: 100%}.composer input{flex: 1;min-width: 0;background: none;border: none;color: var(--text);font-family: var(--font-verse);font-size: clamp(1.4rem,3vw,2rem);font-weight: 400;padding: 12px 0;letter-spacing: 0.01em}.composer input::placeholder{color: var(--paper-faint);font-style: italic}.composer input:focus-visible{outline-color: transparent}.composer .count{font-family: var(--font-label);font-size: var(--type-2);font-weight: 300;letter-spacing: var(--track-quiet);min-width: 56px;text-align: right;white-space: nowrap;color: var(--paper-faint);transition: color var(--dur-hover) var(--ease-breath)}.composer .count.ok{color: var(--accent)}.composer .count b{font-weight: 400;color: var(--paper)}.compose-note{margin-top: 18px;text-align: center;font-style: italic;font-size: 15px;color: var(--paper-faint)}.compose-note a{color: var(--accent);text-decoration: underline 1px var(--accent-quiet);text-underline-offset: 0.3em}.compose-actions{margin-top: 40px;margin-bottom: auto;display: flex;flex-direction: column;align-items: center;gap: 22px;min-height: 70px}.settle-msg{font-style: italic;font-size: 17px;color: var(--paper-dim);height: 22px;transition: color var(--dur-state) var(--ease-breath);text-align: center}.settle-msg.done{color: var(--accent)}.action-row{display: flex;gap: 14px;opacity: 0;transform: translateY(8px);pointer-events: none;transition: opacity 0.8s var(--ease-breath),transform 0.8s var(--ease-breath)}.action-row.show{opacity: 1;transform: none;pointer-events: auto}.season-pick{display: flex;justify-content: center;gap: 8px;margin-bottom: 36px}.season-pick button{position: relative;display: flex;flex-direction: column;align-items: center;gap: 8px;min-width: 64px;min-height: 44px;padding: 6px 4px 10px;background: none;border: none;border-radius: 4px;cursor: pointer;color: var(--paper-faint);transition: color var(--dur-hover) var(--ease-breath)}.season-pick .pick-glyph{font-family: var(--font-glyph);font-size: 20px;line-height: 1;color: var(--paper-dim);transition: color var(--dur-hover) var(--ease-breath),transform var(--dur-hover) var(--ease-breath)}.season-pick .pick-name{font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);line-height: 1;letter-spacing: var(--track-quiet);padding-left: var(--track-quiet)}.season-pick button::after{content: "";position: absolute;left: 50%;bottom: 0;width: 0;height: 1px;transform: translateX(-50%);background: var(--accent);transition: width 0.8s var(--ease-ink)}.season-pick button:hover,.season-pick button:hover .pick-glyph{color: var(--paper)}.season-pick button.active,.season-pick button.active .pick-glyph{color: var(--accent)}.season-pick button.active .pick-glyph{transform: scale(1.12)}.season-pick button.active::after{width: 18px}.sheet-bg{position: fixed;inset: 0;z-index: var(--z-sheet);background: var(--veil-sheet);backdrop-filter: blur(12px);opacity: 0;pointer-events: none;visibility: hidden;transition: opacity var(--dur-state) var(--ease-breath),visibility 0s linear 0.6s;display: flex;align-items: center;justify-content: center;padding: 24px;overflow-y: auto}.sheet-bg.open{opacity: 1;pointer-events: auto;visibility: visible;transition: opacity var(--dur-state) var(--ease-breath)}.sheet{width: min(440px,88vw);text-align: center;background: color-mix(in srgb,var(--ink-deep) 55%,transparent);border: 1px solid var(--ink-soft);border-radius: 6px;padding: 44px 36px;margin: auto;transform: translateY(12px);transition: transform var(--dur-state) var(--ease-breath)}.sheet-bg.open .sheet{transform: none}.sheet-season{margin: -10px 0 24px;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-dim)}.sheet-season [lang="ja"]{font-size: 1.3em;line-height: 1;letter-spacing: 0}.sheet .spoem{margin-bottom: 32px}.sheet .spoem div{font-style: italic;font-synthesis-style: none;font-size: 1.3rem;line-height: 1.8;color: var(--text)}.sheet h3{font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--accent);margin-bottom: 26px}.sheet input{width: 100%;background: none;border: none;border-bottom: 1px solid var(--ink-soft);color: var(--paper);font-family: var(--font-verse);font-size: 1.2rem;text-align: center;padding: 10px 0;margin-bottom: 30px;transition: border-color var(--dur-state) var(--ease-breath)}.sheet input:focus-visible{outline-color: transparent;border-bottom-color: var(--accent)}.sheet input::placeholder{color: var(--paper-faint);font-style: italic}.sheet .srow{display: flex;gap: 12px;justify-content: center}.sheet-note{min-height: 22px;margin: -18px 0 18px;font-style: italic;font-size: 15px;color: var(--paper-dim)}.sheet-public{margin-bottom: 26px;font-style: italic;font-size: 15px;color: var(--paper-dim)}@media (max-width: 820px){.compose-wrap{padding: 16vh 7vw 48px}}@media (max-width: 640px){.compose-wrap{padding: 124px 6vw 40px}.compose-title{margin-top: 0;margin-bottom: 28px;font-size: var(--type-1);font-weight: 400;letter-spacing: var(--track-label);line-height: 1.6}.season-pick{gap: 4px;margin-bottom: 24px}.season-pick button{min-width: 58px}.composer .row{gap: 12px}.compose-actions{margin-top: 28px}.action-row{flex-wrap: wrap;justify-content: center}}@media (max-width: 380px){.composer .count{min-width: 44px}.sheet h3{letter-spacing: var(--track-quiet)}.sheet input{font-size: 1.05rem}}@media (max-height: 560px){.compose-wrap{padding-top: 76px;padding-bottom: 24px}.compose-title{margin-bottom: 18px}.season-pick{margin-bottom: 18px}.compose-actions{margin-top: 20px}}@media (max-height: 480px) and (max-width: 900px){.compose-wrap{padding-top: 60px}}@media (prefers-reduced-motion: reduce){.action-row{transform: none;transition: opacity 0.8s var(--ease-breath)}.composer .row::after{transition: none}.season-pick button::after,.season-pick .pick-glyph{transition: none}.sheet{transform: none;transition: none}}
.gwrap{height: 100%;overflow-y: auto;padding: 14vh 6vw max(12vh,120px);--fade-from: 64px;--fade-top: 120px;--fade-bottom: 72px;scroll-padding-block: var(--fade-top) var(--fade-bottom);-webkit-mask-image: linear-gradient(to bottom,transparent var(--fade-from),var(--ink-void) var(--fade-top),var(--ink-void) calc(100% - var(--fade-bottom)),transparent);mask-image: linear-gradient(to bottom,transparent var(--fade-from),var(--ink-void) var(--fade-top),var(--ink-void) calc(100% - var(--fade-bottom)),transparent)}.gwrap::-webkit-scrollbar{width: 0}.kukai-head{text-align: center;margin-bottom: 8vh}.kukai-head .gtitle{font-family: var(--font-label);font-weight: 300;font-size: var(--type-2);letter-spacing: var(--track-wide);text-transform: uppercase;color: var(--accent-quiet)}.kukai-head .gsub{margin-top: 14px;font-style: italic;color: var(--paper-dim);font-size: 16px}.kukai-head .gsub a{color: var(--accent);text-decoration: underline 1px var(--accent-quiet);text-underline-offset: 0.3em}.kukai-head .gsub-gloss{margin-top: 6px;font-size: 14px;color: var(--paper-faint)}.gsub-gloss [lang="ja"]{letter-spacing: 0.08em}.gsub-gloss [lang="ja-Latn"]{font-style: italic}.gall{margin-top: 10px;background: none;border: none;cursor: pointer;padding: 4px 2px;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-dim);transition: color var(--dur-hover) var(--ease-breath)}.gall:hover{color: var(--accent)}.gall[hidden]{display: none}.gsort{margin-top: 22px;display: flex;flex-wrap: wrap;gap: 4px 14px;align-items: center;justify-content: center}.gsort[hidden]{display: none}.gsort-label{font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-faint)}.gsort-opt{background: none;border: none;cursor: pointer;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-faint);padding: 4px 2px;transition: color var(--dur-hover) var(--ease-breath)}.gsort-opt:hover{color: var(--paper)}.gsort-opt.active{color: var(--accent)}.grid{display: grid;grid-template-columns: repeat(auto-fill,minmax(260px,1fr));gap: clamp(24px,4vw,56px);max-width: 1100px;margin: 0 auto;list-style: none}.grid-empty{grid-column: 1 / -1;text-align: center;color: var(--paper-dim);font-style: italic}.tile{--tile-c: var(--accent);--linger-c: var(--tile-c);display: flex;flex-direction: column;position: relative;overflow: hidden;isolation: isolate;background: linear-gradient(180deg,color-mix(in srgb,var(--tile-c) 7%,transparent),transparent 70%),var(--ink-deep);border: 1px solid var(--ink-soft);border-left: 2px solid color-mix(in srgb,var(--tile-c) 60%,var(--ink-soft));border-radius: 3px;padding: 38px 32px;cursor: pointer;opacity: 0;transform: translateY(14px);transition: opacity 0.8s var(--ease-breath),transform var(--dur-state) var(--ease-breath),border-color var(--dur-hover) var(--ease-breath),background var(--dur-hover) var(--ease-breath),box-shadow var(--dur-state) var(--ease-breath)}.tile::after{content: var(--season-glyph);position: absolute;top: -18px;right: -12px;z-index: var(--z-behind);font-family: var(--font-glyph);font-size: 96px;line-height: 1;color: var(--tile-c);opacity: 0.07;pointer-events: none;transition: opacity var(--dur-state) var(--ease-breath)}.tile:hover::after{opacity: 0.12}.tile.in{opacity: 1;transform: none}.tile:hover{border-color: var(--tile-c);background: linear-gradient(180deg,color-mix(in srgb,var(--tile-c) 13%,transparent),transparent 72%),var(--ink-raised);box-shadow: var(--shadow-lift),0 0 0 1px color-mix(in srgb,var(--tile-c) 14%,transparent)}.tile .tbody{display: block;width: 100%;background: none;border: none;padding: 0;margin: 0 0 auto;color: inherit;font: inherit;text-align: inherit;cursor: pointer}.tile .tbody:focus-visible{border-radius: 2px}.tile .tline{display: block;font-style: italic;font-synthesis-style: none;font-size: 1.15rem;line-height: 1.85;color: var(--text);text-wrap: balance;padding-left: 1em;text-indent: -1em}.tile .tfoot{margin-top: 22px;display: flex;justify-content: space-between;align-items: center}.tile .tauthor{font-style: italic;font-size: 14px;color: var(--paper-dim)}.tile .tkept{color: var(--paper-faint)}.tile .tseal{font-family: var(--font-glyph);font-size: 16px;color: var(--accent-quiet);transition: color var(--dur-hover) var(--ease-breath),text-shadow var(--dur-hover) var(--ease-breath)}.tile:hover .tseal{color: var(--tile-c);text-shadow: 0 0 14px color-mix(in srgb,var(--tile-c) 45%,transparent)}.tile .tlinger{margin-top: 22px;padding-top: 16px;border-top: 1px solid var(--ink-soft);justify-content: space-between;gap: 4px 12px}.tact{margin-top: 16px;display: flex;flex-wrap: wrap;align-items: baseline;justify-content: flex-end;gap: 4px 10px;font-family: var(--font-label);font-weight: 400;font-size: var(--type-1);letter-spacing: var(--track-label);text-transform: uppercase;color: var(--paper-faint)}.tact-btn{background: none;border: none;padding: 4px 2px;cursor: pointer;position: relative;font: inherit;letter-spacing: inherit;text-transform: inherit;color: var(--paper-faint);transition: color var(--dur-hover) var(--ease-breath)}.tact-btn::after{content: "";position: absolute;inset: -8px -6px}.tile:hover .tact-btn,.tact-btn:focus-visible{color: var(--paper-dim)}.tact-btn:hover{color: var(--tile-c)}.tact-q{color: var(--paper-dim)}.tile.gone{opacity: 0;pointer-events: none}@media (max-width: 640px){.grid{grid-template-columns: 1fr}.gwrap{padding: 148px 7vw 64px;--fade-from: 100px;--fade-top: 140px;--fade-bottom: 40px}.kukai-head{margin-bottom: 6vh}.gsort{gap: 4px 10px}}@media (max-height: 560px){.gwrap{padding-top: 84px;padding-bottom: 48px;--fade-from: 64px;--fade-top: 80px;--fade-bottom: 32px}}@media (max-height: 480px) and (max-width: 900px){.gwrap{padding-top: 68px;--fade-from: 48px;--fade-top: 64px}}@media (prefers-reduced-motion: no-preference){.tile.in:hover{transform: translateY(-2px)}}@media (prefers-reduced-motion: reduce){.tile,.tile.in{transform: none;transition: opacity 0.8s var(--ease-breath),border-color var(--dur-hover) var(--ease-breath),background var(--dur-hover) var(--ease-breath),box-shadow var(--dur-state) var(--ease-breath)}}
