@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a57e59d2-module__Sbo0bG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a57e59d2-module__Sbo0bG__variable{--font-sans-family:"Geist", "Geist Fallback"}
@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/85fcf895b86d74a6-s.3pdm20a023wv-.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5307092570128b5a-s.16191ingcc7md.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b67966e0b83b2cd0-s.p.0fuf3937kiol3.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_db592f02-module__S84gWW__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_db592f02-module__S84gWW__variable{--font-display-family:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/400bf8aa837fcb7e-s.19g-lkcx7iw64.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Figtree;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/f7aa21714c1c53f8-s.p.0-95eo-012xnf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Figtree Fallback;src:local(Arial);ascent-override:94.32%;descent-override:24.82%;line-gap-override:0.0%;size-adjust:100.72%}.figtree_b56a6ae6-module__ZZTm5q__className{font-family:Figtree,Figtree Fallback;font-style:normal}.figtree_b56a6ae6-module__ZZTm5q__variable{--font-bright-sans-family:"Figtree", "Figtree Fallback"}
@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/224e262ef877bfa4-s.1zkvd_innyig_.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/7f11d98043fdedc9-s.2c8-7nzo1jf9r.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1vcas2uk12q5a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.2demiz2t05dx4.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:200 1000;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.2kjei9psvcorz.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_27e3887c-module__csKTQG__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_27e3887c-module__csKTQG__variable{--font-bright-display-family:"Nunito", "Nunito Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:var(--font-sans-family), "Hiragino Sans", "Noto Sans JP", "Noto Sans SC", "Noto Sans KR", system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-font-family:var(--font-sans-family), "Hiragino Sans", "Noto Sans JP", "Noto Sans SC", "Noto Sans KR", system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--font-display:var(--font-display-family), "Iowan Old Style", Palatino, Georgia, serif}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#15231f;--ink-soft:#3b4d47;--ink-faint:#5d6d67;--cream:#f6f2ea;--cream-deep:#eee8dc;--paper:#fffdf9;--line:#e6dfd2;--line-strong:#d3c9b8;--apricot:#e07a3d;--apricot-deep:#c4652c;--apricot-soft:#fbe7d8;--apricot-ink:#8a3d12;--sage:#2f6f62;--sage-deep:#24584e;--sage-soft:#dcece6;--sage-ink:#1d4a41;--gold:#c9842a;--danger:#9a3412;--danger-soft:#fbe4dc;--night:#0f1613;--night-raised:#17201c;--night-sunken:#121a17;--night-line:#26332d;--night-line-strong:#364840;--night-ink:#f1ece3;--bg:var(--cream);--sunken:var(--cream-deep);--surface:var(--paper);--fg:var(--ink);--muted:var(--ink-soft);--subtle:var(--ink-faint);--stroke:var(--line);--stroke-strong:var(--line-strong);--accent:var(--apricot);--accent-press:var(--apricot-deep);--accent-soft:var(--apricot-soft);--accent-ink:var(--apricot-ink);--on-accent:#1c120c;--good:var(--sage);--good-press:var(--sage-deep);--good-soft:var(--sage-soft);--good-ink:var(--sage-ink);--bad:var(--danger);--bad-soft:var(--danger-soft);--rating:var(--gold);--contrast:var(--ink);--on-contrast:var(--night-ink);--shadow-sm:0 1px 2px #15231f0d;--shadow:0 1px 2px #15231f0a, 0 8px 24px -12px #15231f1f;--shadow-lg:0 2px 4px #15231f0a, 0 24px 48px -20px #15231f38;--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--space-9:96px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:var(--night);--sunken:var(--night-sunken);--surface:var(--night-raised);--fg:var(--night-ink);--muted:#c0ccc5;--subtle:#8fa098;--stroke:var(--night-line);--stroke-strong:var(--night-line-strong);--accent-soft:#3a2517;--accent-ink:#f4b78f;--good:#5fae9c;--good-press:#4e9a89;--good-soft:#1a332d;--good-ink:#a8dccf;--bad:#f19a7a;--bad-soft:#3a1d15;--contrast:#1e2a25;--on-contrast:var(--night-ink);--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--shadow-lg:0 2px 4px #0000004d, 0 24px 48px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:var(--night);--sunken:var(--night-sunken);--surface:var(--night-raised);--fg:var(--night-ink);--muted:#c0ccc5;--subtle:#8fa098;--stroke:var(--night-line);--stroke-strong:var(--night-line-strong);--accent-soft:#3a2517;--accent-ink:#f4b78f;--good:#5fae9c;--good-press:#4e9a89;--good-soft:#1a332d;--good-ink:#a8dccf;--bad:#f19a7a;--bad-soft:#3a1d15;--contrast:#1e2a25;--on-contrast:var(--night-ink);--shadow-sm:0 1px 2px #0000004d;--shadow:0 1px 2px #0000004d, 0 8px 24px -12px #00000080;--shadow-lg:0 2px 4px #0000004d, 0 24px 48px -20px #000000b3;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}html{background:var(--bg);color:var(--fg);-webkit-text-size-adjust:100%;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);min-height:100dvh;font-family:var(--font-sans);font-feature-settings:"ss01", "cv11";flex-direction:column;margin:0;font-size:1rem;line-height:1.55;display:flex}body>main,body>.site-main{flex:1}h1,h2,h3,h4,.display{font-family:var(--font-display);font-optical-sizing:auto;font-variation-settings:"SOFT" 30;letter-spacing:-.022em;text-wrap:balance;margin:0;font-weight:500;line-height:1.08}h3,h4{letter-spacing:-.008em;line-height:1.2}p{text-wrap:pretty;margin:0}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:1px}img,svg,video{max-width:100%;display:block}ul,ol{margin:0;padding:0}::selection{background:var(--accent-soft);color:var(--fg)}:focus-visible{outline:2px solid var(--good);outline-offset:2px;border-radius:6px}.skip{background:var(--surface);border:1px solid var(--stroke);z-index:100;border-radius:999px;padding:.5rem .9rem;position:absolute;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip:focus{transform:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.shell{width:min(1200px,100% - 2.5rem);margin-inline:auto}.shell-narrow{width:min(760px,100% - 2.5rem);margin-inline:auto}@media (min-width:720px){.shell{width:min(1200px,100% - 4rem)}}.stack{align-content:start;gap:1rem;display:grid}.stack-sm{align-content:start;gap:.5rem;display:grid}.stack-lg{align-content:start;gap:2rem;display:grid}.row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.row-lg{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.between{justify-content:space-between}.grow{flex:1;min-width:0}.grid-2,.grid-3,.grid-4{gap:1rem;display:grid}@media (min-width:720px){.grid-2,.grid-3,.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}}.layout-aside{align-items:start;gap:1.5rem;display:grid}@media (min-width:980px){.layout-aside{grid-template-columns:minmax(0,1fr) 360px;gap:2.5rem}.layout-aside.aside-left{grid-template-columns:280px minmax(0,1fr)}}.page>*,.list>*,.room>*,.layout-aside>*,.stack>*,.stack-sm>*,.stack-lg>*,.split>*{min-width:0}.sticky{position:sticky;top:calc(64px + 1rem)}.split{gap:1.5rem;display:grid}@media (min-width:900px){.split{grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);align-items:start}}.section{padding-block:clamp(3rem,7vw,6rem)}.section-tight{padding-block:clamp(2rem,4vw,3.5rem)}.page{align-content:start;gap:2rem;padding-block:clamp(1.75rem,4vw,3rem) 4rem;display:grid}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem 2rem;display:flex}.page-head h1{font-size:clamp(2rem,4.2vw,2.9rem)}.page-head .lead{max-width:44rem;margin-top:.6rem}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 2rem;margin-bottom:1.25rem;display:flex}.section-head h2{font-size:clamp(1.6rem,3vw,2.25rem)}.section-head p{color:var(--muted);max-width:38rem;margin-top:.5rem}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--good);align-items:center;gap:.45rem;font-size:.78rem;font-weight:600;display:inline-flex}.lead{color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.2rem);line-height:1.55}.muted{color:var(--muted)}.subtle{color:var(--subtle)}.meta{color:var(--muted);font-size:.875rem;line-height:1.45}.tiny{color:var(--subtle);font-size:.78rem;line-height:1.4}.num{font-variant-numeric:tabular-nums}.strong{font-weight:600}.serif{font-family:var(--font-display)}.h2{font-size:clamp(1.5rem,2.6vw,2rem)}.h3{font-size:1.3rem}.h4{font-size:1.08rem}.clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.link{color:var(--good);align-items:center;gap:.3rem;font-weight:600;text-decoration:none;display:inline-flex}.link:hover{text-decoration:underline}.prose{max-width:42rem;color:var(--muted);gap:1rem;font-size:1.05rem;line-height:1.7;display:grid}.prose h2{color:var(--fg);margin-top:1rem;font-size:1.5rem}.prose strong{color:var(--fg)}.site-header{z-index:50;background:var(--bg);position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in oklab, var(--bg) 86%, transparent)}}.site-header{-webkit-backdrop-filter:saturate(1.4)blur(14px);border-bottom:1px solid var(--stroke)}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in oklab, var(--stroke) 80%, transparent)}}.site-header .bar{align-items:center;gap:1.5rem;height:64px;display:flex}.brand{flex-shrink:0;align-items:center;text-decoration:none;display:inline-flex}.brand-logo{aspect-ratio:1920/448;flex-shrink:0;max-width:100%;display:block}.brand-logo img{width:100%;height:auto}.brand-logo-header{width:184px}.brand-logo-footer{width:224px}.brand-logo-auth{width:280px}@media (max-width:479px){.site-header .bar{gap:.5rem}.brand-logo-header{width:152px}}@media (max-width:359px){.brand-logo-header{width:136px}}.nav-primary{align-items:center;gap:.25rem;display:none}.nav-primary a{height:36px;color:var(--muted);border-radius:999px;align-items:center;padding:0 .8rem;font-size:.94rem;font-weight:500;text-decoration:none;transition:color .15s,background-color .15s;display:inline-flex}.nav-primary a:hover,.nav-primary a[aria-current=page]{color:var(--fg);background:var(--sunken)}.nav-actions{align-items:center;gap:.35rem;margin-left:auto;display:flex}.nav-actions .desk{display:none}@media (min-width:900px){.nav-primary{display:flex}.nav-actions .desk{display:inline-flex}.nav-actions .mobile-only{display:none}}.icon-btn{width:40px;height:40px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;text-decoration:none;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.icon-btn:hover{background:var(--sunken);color:var(--fg)}.icon-btn .dot{background:var(--accent);min-width:17px;height:17px;color:var(--on-accent);text-align:center;border:2px solid var(--bg);box-sizing:content-box;border-radius:999px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:17px;position:absolute;top:1px;right:0}.menu{position:relative}.menu>summary{cursor:pointer;list-style:none}.menu>summary::-webkit-details-marker{display:none}.menu-panel{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);min-width:240px;box-shadow:var(--shadow-lg);z-index:60;padding:.4rem;display:grid;position:absolute;top:calc(100% + 8px);right:0}.menu-panel a,.menu-panel button{width:100%;min-height:40px;color:var(--fg);font:inherit;cursor:pointer;text-align:start;background:0 0;border:0;border-radius:9px;align-items:center;gap:.7rem;padding:0 .75rem;font-size:.94rem;text-decoration:none;display:flex}.menu-panel a:hover,.menu-panel button:hover{background:var(--sunken)}.menu-panel svg{color:var(--subtle);flex-shrink:0}.menu-panel hr{border:0;border-top:1px solid var(--stroke);margin:.35rem .25rem}.menu-head{padding:.6rem .75rem .5rem}.mobile-nav-panel{background:var(--surface);border-bottom:1px solid var(--stroke);max-height:calc(100dvh - 64px);box-shadow:var(--shadow-lg);z-index:60;gap:.15rem;padding:.75rem 1.25rem 1.25rem;display:grid;position:fixed;inset:64px 0 auto;overflow-y:auto}.mobile-nav-panel a,.mobile-nav-panel button{min-height:48px;font:inherit;color:var(--fg);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:.8rem;width:100%;padding:0 .5rem;font-size:1.02rem;text-decoration:none;display:flex}.mobile-nav-panel a:hover{background:var(--sunken)}.mobile-nav-panel svg{color:var(--subtle)}.mobile-nav-panel .btn{justify-content:center}.site-footer{border-top:1px solid var(--stroke);background:var(--sunken);color:var(--muted);margin-top:auto;font-size:.94rem}.footer-grid{gap:2.5rem;padding-block:3.5rem 2.5rem;display:grid}@media (min-width:860px){.footer-grid{grid-template-columns:1.4fr repeat(3,1fr)}}.footer-grid h2{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--fg);margin-bottom:.9rem;font-size:.78rem;font-weight:600}.footer-grid ul{gap:.55rem;list-style:none;display:grid}.footer-grid a{text-decoration:none}.footer-grid a:hover{color:var(--fg);text-decoration:underline}.footer-base{border-top:1px solid var(--stroke);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-block:1.25rem 2rem;font-size:.875rem;display:flex}.btn{min-height:44px;color:inherit;font:inherit;letter-spacing:-.005em;white-space:nowrap;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;padding:0 1.15rem;font-size:.95rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s,transform 80ms,box-shadow .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.btn:hover{background:var(--sunken)}.btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:inset 0 -1px #0000001f,0 1px 2px #c4652c40}.btn-primary:hover{background:var(--accent-press);color:#fff8f2}.btn-dark{background:var(--ink);color:var(--night-ink)}.btn-dark:hover{background:#22352f}:root[data-theme=dark] .btn-dark{background:var(--night-ink);color:var(--ink)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn-dark{background:var(--night-ink);color:var(--ink)}}.btn-line{background:var(--surface);border-color:var(--stroke-strong);color:var(--fg)}.btn-line:hover{background:var(--sunken);border-color:var(--stroke-strong)}.btn-sage{background:var(--sage);color:#f3efe6}.btn-sage:hover{background:var(--sage-deep)}.btn-ghost{color:var(--muted)}.btn-ghost:hover{color:var(--fg)}.btn-danger{color:var(--bad);border-color:var(--bad)}@supports (color:color-mix(in lab, red, red)){.btn-danger{border-color:color-mix(in oklab, var(--bad) 35%, transparent)}}.btn-danger{background:0 0}.btn-danger:hover{background:var(--bad-soft)}.btn-sm{border-radius:10px;min-height:36px;padding:0 .85rem;font-size:.875rem}.btn-lg{border-radius:14px;min-height:52px;padding:0 1.5rem;font-size:1.02rem}.btn-block{width:100%}.btn-pill{border-radius:999px}.card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-pad{padding:1.25rem}@media (min-width:720px){.card-pad{padding:1.6rem}}.card-head{border-bottom:1px solid var(--stroke);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.25rem;display:flex}@media (min-width:720px){.card-head{padding:1.1rem 1.6rem}}.card-head h2,.card-head h3{letter-spacing:-.005em;font-size:1.18rem}.card-foot{border-top:1px solid var(--stroke);background:var(--sunken);padding:1rem 1.25rem}@supports (color:color-mix(in lab, red, red)){.card-foot{background:color-mix(in oklab, var(--sunken) 50%, transparent)}}.card-foot{border-radius:0 0 var(--radius-lg) var(--radius-lg)}.card-link{text-decoration:none;transition:border-color .15s,box-shadow .2s,transform .2s}.card-link:hover{border-color:var(--stroke-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.panel-contrast{background:var(--contrast);color:var(--on-contrast);border-radius:var(--radius-xl);position:relative;overflow:hidden}.panel-contrast .muted,.panel-contrast .meta{color:var(--on-contrast)}@supports (color:color-mix(in lab, red, red)){.panel-contrast .muted,.panel-contrast .meta{color:color-mix(in oklab, var(--on-contrast) 72%, transparent)}}.panel-sunken{background:var(--sunken);border-radius:var(--radius-lg)}.divider{border:0;border-top:1px solid var(--stroke);margin:0}.field{color:var(--fg);gap:.4rem;min-width:0;font-size:.9rem;font-weight:500;display:grid}.field-hint{color:var(--subtle);font-size:.82rem;font-weight:400}.field input:not([type=checkbox]):not([type=radio]):not([type=file]),.field select,.field textarea,.input{border:1px solid var(--stroke-strong);background:var(--surface);width:100%;min-width:0;min-height:44px;color:var(--fg);font:inherit;box-sizing:border-box;border-radius:10px;padding:.6rem .8rem;font-size:.97rem;font-weight:400;transition:border-color .15s,box-shadow .15s}.field textarea{resize:vertical;min-height:112px;line-height:1.5}.field select,select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23879690' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;padding-right:2.25rem}.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--stroke-strong)}@supports (color:color-mix(in lab, red, red)){.field input:hover,.field select:hover,.field textarea:hover{border-color:color-mix(in oklab, var(--stroke-strong) 60%, var(--fg) 20%)}}.field input:focus,.field select:focus,.field textarea:focus,.input:focus{border-color:var(--good);box-shadow:0 0 0 3px var(--good);outline:none}@supports (color:color-mix(in lab, red, red)){.field input:focus,.field select:focus,.field textarea:focus,.input:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--good) 22%, transparent)}}.field input::placeholder,.field textarea::placeholder{color:var(--subtle)}.field input[type=file]{font:inherit;color:var(--muted);border:1px dashed var(--stroke-strong);background:var(--sunken);border-radius:10px;padding:.5rem;font-size:.9rem}.field input[type=file]::file-selector-button{font:inherit;border:1px solid var(--stroke-strong);background:var(--surface);color:var(--fg);cursor:pointer;border-radius:8px;margin-right:.75rem;padding:.45rem .8rem;font-size:.875rem;font-weight:600}.form-grid{gap:1rem 1.25rem;display:grid}@media (min-width:640px){.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}}.fieldset{border:0;gap:1.1rem;margin:0;padding:0;display:grid}.fieldset-head h2,.fieldset-head h3{font-size:1.2rem}.fieldset-head p{color:var(--muted);margin-top:.3rem;font-size:.92rem}.form-section{border-top:1px solid var(--stroke);gap:1.25rem;padding-block:1.6rem;display:grid}.form-section:first-of-type{border-top:0;padding-top:0}@media (min-width:900px){.form-section{grid-template-columns:260px minmax(0,1fr);gap:2rem}}.check{cursor:pointer;align-items:flex-start;gap:.65rem;font-size:.95rem;font-weight:400;line-height:1.4;display:flex}.check input{width:18px;height:18px;accent-color:var(--sage);flex-shrink:0;margin:.1rem 0 0}.switch{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:52px;font-weight:500;display:flex}.switch input{appearance:none;background:var(--stroke-strong);cursor:pointer;border-radius:999px;flex-shrink:0;width:42px;height:24px;margin:0;transition:background-color .18s;position:relative}.switch input:after{content:"";background:#fff;border-radius:999px;width:18px;height:18px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 2px #00000040}.switch input:checked{background:var(--sage)}.switch input:checked:after{transform:translate(18px)}.segmented{background:var(--sunken);border:1px solid var(--stroke);border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.segmented a,.segmented button,.segmented label{min-height:36px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:.45rem;padding:0 .9rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.segmented a:hover,.segmented button:hover{color:var(--fg)}.segmented [aria-current=true],.segmented [aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:var(--shadow-sm), 0 0 0 1px var(--stroke)}.segmented label:has(input:checked){background:var(--surface);color:var(--fg);box-shadow:var(--shadow-sm), 0 0 0 1px var(--stroke)}.segmented label input{opacity:0;pointer-events:none;position:absolute}.rate{flex-direction:row-reverse;justify-content:flex-end;gap:2px;display:inline-flex}.rate input{opacity:0;pointer-events:none;position:absolute}.rate label{cursor:pointer;color:var(--stroke-strong);padding:2px;transition:color .12s}.rate label:hover,.rate label:hover~label,.rate input:checked~label{color:var(--rating)}.rate input:focus-visible+label{outline:2px solid var(--good);border-radius:6px}.badge{white-space:nowrap;background:var(--sunken);min-height:24px;color:var(--muted);border:1px solid var(--stroke);border-radius:7px;align-items:center;gap:.3rem;padding:0 .55rem;font-size:.78rem;font-weight:600;line-height:1;display:inline-flex}.badge-sage{background:var(--good-soft);color:var(--good-ink);border-color:#0000}.badge-apricot{background:var(--accent-soft);color:var(--accent-ink);border-color:#0000}.badge-danger{background:var(--bad-soft);color:var(--bad);border-color:#0000}.badge-dark{background:var(--fg);color:var(--bg);border-color:#0000}.badge-dot:before{content:"";background:currentColor;border-radius:999px;width:6px;height:6px}.chip{background:var(--good-soft);min-height:30px;color:var(--good-ink);border-radius:999px;align-items:center;gap:.35rem;padding:0 .75rem;font-size:.84rem;font-weight:500;text-decoration:none;display:inline-flex}a.chip:hover{background:var(--good-soft)}@supports (color:color-mix(in lab, red, red)){a.chip:hover{background:color-mix(in oklab, var(--good-soft) 70%, var(--good) 20%)}}.chip-line{background:var(--surface);color:var(--fg);border:1px solid var(--stroke-strong)}a.chip-line:hover{background:var(--sunken)}.tags{flex-wrap:wrap;gap:.35rem;display:flex}.tag{min-height:26px;color:var(--muted);background:var(--sunken);border-radius:7px;align-items:center;padding:0 .6rem;font-size:.8rem;font-weight:500;display:inline-flex}.notice{border:1px solid var(--good);align-items:flex-start;gap:.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.notice{border:1px solid color-mix(in oklab, var(--good) 22%, transparent)}}.notice{background:var(--good-soft);color:var(--good-ink);border-radius:var(--radius-md);padding:.85rem 1rem;font-size:.95rem;line-height:1.45}.notice svg{flex-shrink:0;margin-top:.1rem}.notice-warn{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.notice-warn{border-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.notice-warn{background:var(--accent-soft);color:var(--accent-ink)}.notice-danger{border-color:var(--bad)}@supports (color:color-mix(in lab, red, red)){.notice-danger{border-color:color-mix(in oklab, var(--bad) 30%, transparent)}}.notice-danger{background:var(--bad-soft);color:var(--bad)}.notice-plain{border-color:var(--stroke);background:var(--sunken);color:var(--muted)}.avatar{--size:48px;width:var(--size);height:var(--size);background:var(--av-bg,var(--sage));color:var(--av-fg,#f3efe6);font-family:var(--font-display);font-variation-settings:"SOFT" 60;font-weight:500;font-size:calc(var(--size) * .38);letter-spacing:-.02em;-webkit-user-select:none;user-select:none;border-radius:999px;flex-shrink:0;place-items:center;line-height:1;display:inline-grid;position:relative;overflow:hidden}.avatar-square{border-radius:28%}.avatar img{object-fit:cover;width:100%;height:100%}.avatar .initials{z-index:1;position:relative}.avatar .glyph{font-size:calc(var(--size) * .95);opacity:.16;line-height:1;font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;pointer-events:none;font-weight:600;position:absolute;bottom:-.22em;right:-.08em}.avatar .ring{border-radius:inherit;pointer-events:none;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 -12px 24px -12px #00000040}.avatar-stack{display:flex}.avatar-stack>*+*{margin-left:-10px}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--bg)}.status-dot{width:12px;height:12px;box-shadow:0 0 0 2px var(--surface);z-index:2;background:#3fb47f;border-radius:999px;position:absolute;bottom:2px;right:2px}.stars{color:var(--rating);align-items:center;gap:1px;display:inline-flex}.stars .off{color:var(--stroke-strong)}.rating{font-variant-numeric:tabular-nums;align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.rating svg{color:var(--rating)}.grid-teachers{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;display:grid}.teacher-card{box-sizing:border-box;flex-direction:column;gap:.9rem;height:100%;padding:1.25rem;text-decoration:none;display:flex}.teacher-card .who{align-items:center;gap:.85rem;display:flex}.teacher-card .name{font-family:var(--font-display);font-variation-settings:"SOFT" 30;letter-spacing:-.015em;font-size:1.2rem;font-weight:500;line-height:1.2}.teacher-card .headline{color:var(--muted);font-size:.94rem;line-height:1.45}.teacher-card .foot{white-space:nowrap;border-top:1px solid var(--stroke);flex-wrap:nowrap;justify-content:space-between;align-items:flex-end;gap:.75rem;margin-top:auto;padding-top:.9rem;display:flex}.price{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.05rem;font-weight:650}.price-lg{font-family:var(--font-display);letter-spacing:-.03em;font-size:2rem;font-weight:500;line-height:1}.teacher-row{grid-template-columns:auto minmax(0,1fr);gap:1.1rem;padding:1.25rem;display:grid}.teacher-row .aside{border-top:1px solid var(--stroke);flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;padding-top:1rem;display:flex}@media (min-width:760px){.teacher-row{grid-template-columns:auto minmax(0,1fr) 210px;gap:1.5rem;padding:1.5rem}.teacher-row .aside{border-top:0;border-left:1px solid var(--stroke);flex-direction:column;grid-column:auto;justify-content:flex-start;align-items:stretch;padding:0 0 0 1.5rem}}.teacher-row h3 a{text-decoration:none}.teacher-row h3 a:after{content:"";position:absolute;inset:0}.teacher-row{position:relative}.teacher-row .aside .btn,.teacher-row .aside form{z-index:1;position:relative}.facts{color:var(--muted);flex-wrap:wrap;gap:.35rem 1rem;font-size:.875rem;display:flex}.facts>span{align-items:center;gap:.35rem;display:inline-flex}.facts svg{color:var(--subtle)}.stat-grid{background:var(--stroke);border:1px solid var(--stroke);border-radius:var(--radius-lg);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}@media (min-width:860px){.stat-grid{grid-template-columns:repeat(var(--cols,4), minmax(0, 1fr))}}.stat{background:var(--surface);align-content:start;gap:.35rem;padding:1.15rem 1.25rem;display:grid}.stat .label{color:var(--muted);align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;display:flex}.stat .label svg{color:var(--subtle)}.stat .value{font-family:var(--font-display);font-variation-settings:"SOFT" 30;letter-spacing:-.03em;font-variant-numeric:tabular-nums;font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:500;line-height:1.05}.stat .hint{color:var(--subtle);font-size:.8rem}.list{list-style:none;display:grid}.list>li+li{border-top:1px solid var(--stroke)}.list-row{color:inherit;align-items:center;gap:1rem;padding:.95rem 1.25rem;text-decoration:none;display:flex}@media (min-width:720px){.list-row{padding:1rem 1.6rem}}a.list-row{transition:background-color .12s}a.list-row:hover{background:var(--sunken)}@supports (color:color-mix(in lab, red, red)){a.list-row:hover{background:color-mix(in oklab, var(--sunken) 60%, transparent)}}.list-row .title{font-weight:600;line-height:1.3}.list-row .chev{color:var(--subtle);flex-shrink:0}.datebox{background:var(--sunken);border:1px solid var(--stroke);border-radius:12px;flex-shrink:0;align-content:center;place-items:center;width:52px;height:56px;line-height:1;display:grid}.datebox .mo{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink);font-size:.68rem;font-weight:700}.datebox .d{font-family:var(--font-display);letter-spacing:-.02em;margin-top:.2rem;font-size:1.45rem;font-weight:500}.datebox-dark{background:#ffffff14;border-color:#ffffff1f}.datebox-dark .mo{color:#f4b78f}.icon-tile{background:var(--good-soft);width:40px;height:40px;color:var(--good-ink);border-radius:11px;flex-shrink:0;place-items:center;display:inline-grid}.icon-tile-apricot{background:var(--accent-soft);color:var(--accent-ink)}.icon-tile-plain{background:var(--sunken);color:var(--muted)}.icon-tile-lg{border-radius:14px;width:48px;height:48px}.table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.table{border-collapse:collapse;width:100%;font-size:.92rem}.table th,.table td{text-align:start;border-bottom:1px solid var(--stroke);vertical-align:middle;padding:.8rem 1rem}.table th:first-child,.table td:first-child{padding-left:1.25rem}.table th:last-child,.table td:last-child{padding-right:1.25rem}.table thead th{letter-spacing:.06em;text-transform:uppercase;color:var(--subtle);background:var(--sunken);font-size:.75rem;font-weight:600}@supports (color:color-mix(in lab, red, red)){.table thead th{background:color-mix(in oklab, var(--sunken) 55%, transparent)}}.table thead th{white-space:nowrap}.table tbody tr:last-child td,.table tbody tr:last-child th{border-bottom:0}.table tbody tr:hover{background:var(--sunken)}@supports (color:color-mix(in lab, red, red)){.table tbody tr:hover{background:color-mix(in oklab, var(--sunken) 40%, transparent)}}.table .right{text-align:end}.table code,code.id{color:var(--subtle);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.ledger{gap:.7rem;font-size:.95rem;display:grid}.ledger>div{font-variant-numeric:tabular-nums;justify-content:space-between;gap:1rem;display:flex}.ledger dt{color:var(--muted)}.ledger dd{margin:0;font-weight:500}.ledger .total{border-top:1px solid var(--stroke);padding-top:.85rem;font-size:1.05rem}.ledger .total dt,.ledger .total dd{color:var(--fg);font-weight:650}.tabs{scrollbar-width:none;border-bottom:1px solid var(--stroke);gap:.25rem;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs a{height:44px;color:var(--muted);white-space:nowrap;border-bottom:2px solid #0000;align-items:center;gap:.45rem;margin-bottom:-1px;padding:0 .85rem;font-size:.94rem;font-weight:500;text-decoration:none;display:inline-flex}.tabs a:hover{color:var(--fg)}.tabs a[aria-current=page]{color:var(--fg);border-bottom-color:var(--accent);font-weight:600}.disclosure{border-top:1px solid var(--stroke)}.disclosure:last-child{border-bottom:1px solid var(--stroke)}.disclosure>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;min-height:56px;padding:.75rem 0;font-weight:600;list-style:none;display:flex}.disclosure>summary::-webkit-details-marker{display:none}.disclosure>summary:after{content:"";border-right:2px solid var(--subtle);border-bottom:2px solid var(--subtle);flex-shrink:0;width:10px;height:10px;transition:transform .18s;transform:rotate(45deg)translate(-3px,-3px)}.disclosure[open]>summary:after{transform:rotate(-135deg)translate(-3px,-3px)}.disclosure>.body{color:var(--muted);padding:0 0 1.25rem;line-height:1.65}.disclosure-card{background:var(--surface);border:1px solid var(--stroke);border-radius:var(--radius-md);padding:0 1.1rem}.disclosure-card:last-child{border-bottom:1px solid var(--stroke)}.progress{background:var(--sunken);border-radius:999px;height:6px;overflow:hidden}.progress>span{border-radius:inherit;background:var(--good);height:100%;display:block}.empty{text-align:center;justify-items:center;gap:.6rem;padding:2.5rem 1.5rem;display:grid}.empty .icon-tile{margin-bottom:.4rem}.empty h3{font-size:1.15rem}.empty p{color:var(--muted);max-width:26rem;font-size:.95rem}.empty .btn{margin-top:.6rem}.hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(2.5rem,5vw,4.5rem);position:relative;overflow:hidden}.hero-grid{align-items:center;gap:3rem;display:grid}@media (min-width:1000px){.hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:4rem}}.hero h1{letter-spacing:-.04em;font-variation-settings:"SOFT" 40;font-size:clamp(2.75rem,6.6vw,5.1rem);font-weight:450;line-height:.98}.hero .lead{max-width:34rem;margin-top:1.4rem}.search-bar{background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow-lg);border-radius:18px;gap:.5rem;max-width:36rem;margin-top:2rem;padding:.5rem;display:grid}@media (min-width:560px){.search-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:stretch}}.search-bar label{letter-spacing:.04em;text-transform:uppercase;color:var(--subtle);cursor:pointer;border-radius:12px;gap:.1rem;padding:.45rem .75rem;font-size:.74rem;font-weight:600;display:grid}.search-bar label:hover{background:var(--sunken)}.search-bar label+label{position:relative}@media (min-width:560px){.search-bar label+label:before{content:"";background:var(--stroke);width:1px;position:absolute;top:22%;bottom:22%;left:-.25rem}}.search-bar select{appearance:none;font:inherit;text-transform:none;letter-spacing:0;color:var(--fg);cursor:pointer;background:0 0;border:0;outline:none;width:100%;padding:0;font-size:1rem;font-weight:500}.search-bar .btn{border-radius:12px;min-height:52px}.hero-quick{color:var(--subtle);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:1.1rem;font-size:.875rem;display:flex}.hero-quick a{color:var(--muted);border:1px solid var(--stroke);border-radius:999px;padding:.25rem .6rem;text-decoration:none}.hero-quick a:hover{color:var(--fg);border-color:var(--stroke-strong);background:var(--surface)}.hero-proof{flex-wrap:wrap;gap:1.75rem 2.5rem;margin-top:2.25rem;display:flex}.hero-proof .v{font-family:var(--font-display);letter-spacing:-.03em;font-size:1.85rem;font-weight:500;line-height:1}.hero-proof .l{color:var(--muted);margin-top:.35rem;font-size:.84rem}.showcase{place-items:center;min-height:460px;display:grid;position:relative}.showcase-bg{background:radial-gradient(120% 90% at 100% 0%, var(--accent) 0%, transparent 55%), radial-gradient(90% 80% at 0% 100%, var(--sage) 0%, transparent 60%), var(--sunken);border-radius:36px;position:absolute;inset:4% 0 4% 6%}@supports (color:color-mix(in lab, red, red)){.showcase-bg{background:radial-gradient(120% 90% at 100% 0%, color-mix(in oklab, var(--accent) 26%, transparent) 0%, transparent 55%), radial-gradient(90% 80% at 0% 100%, color-mix(in oklab, var(--sage) 30%, transparent) 0%, transparent 60%), var(--sunken)}}.showcase-bg{overflow:hidden}.showcase-bg:after{content:"";background-image:radial-gradient(var(--fg) 1px, transparent 1px);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.showcase-bg:after{background-image:radial-gradient(color-mix(in oklab, var(--fg) 14%, transparent) 1px, transparent 1px)}}.showcase-bg:after{background-size:18px 18px;-webkit-mask-image:linear-gradient(#0009,#0000 80%);mask-image:linear-gradient(#0009,#0000 80%)}.showcase-glyphs{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", sans-serif;color:var(--fg);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.showcase-glyphs{color:color-mix(in oklab, var(--fg) 10%, transparent)}}.showcase-glyphs{pointer-events:none;font-weight:600}.showcase-glyphs span{line-height:1;position:absolute}.showcase-stack{gap:.9rem;width:min(400px,100%);display:grid;position:relative}.float-card{background:var(--surface);border:1px solid var(--stroke);box-shadow:var(--shadow-lg);border-radius:20px;padding:1.1rem 1.2rem}.float-card.tilt-l{transform:rotate(-1.5deg)translate(-14px)}.float-card.tilt-r{transform:rotate(1.2deg)translate(18px)}.slot-pills{flex-wrap:wrap;gap:.4rem;display:flex}.slot-pill{border:1px solid var(--stroke-strong);font-variant-numeric:tabular-nums;background:var(--surface);border-radius:9px;align-items:center;min-height:34px;padding:0 .75rem;font-size:.86rem;font-weight:600;display:inline-flex}.slot-pill.on{background:var(--ink);border-color:var(--ink);color:var(--night-ink)}.lang-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (min-width:640px){.lang-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1000px){.lang-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.lang-tile{align-content:end;gap:.15rem;min-height:108px;padding:1.1rem 1.2rem;text-decoration:none;display:grid;position:relative;overflow:hidden}.lang-tile .glyph{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;color:var(--lang-color,var(--good));opacity:.85;font-size:2.6rem;font-weight:500;line-height:1;transition:transform .25s;position:absolute;top:.6rem;right:.9rem}.lang-tile:hover .glyph{transform:translateY(-3px)scale(1.06)}.lang-tile .endonym{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.2rem;font-weight:500}.steps{counter-reset:step;gap:1rem;display:grid}@media (min-width:860px){.steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}}.step{align-content:start;gap:.6rem;padding:1.5rem;display:grid;position:relative}.step .n{font-family:var(--font-display);color:var(--accent-ink);background:var(--accent-soft);border-radius:999px;place-items:center;width:34px;height:34px;margin-bottom:.5rem;font-size:.95rem;font-weight:600;display:inline-grid}.step h3{font-size:1.25rem}.step p{color:var(--muted)}.quote{align-content:space-between;gap:1.1rem;padding:1.6rem;display:grid}.quote blockquote{font-family:var(--font-display);font-variation-settings:"SOFT" 50;letter-spacing:-.01em;margin:0;font-size:1.18rem;line-height:1.45}.feature{align-content:start;gap:.6rem;display:grid}.feature h3{margin-top:.4rem;font-size:1.15rem}.feature p{color:var(--muted);font-size:.97rem}.cta-band{align-items:center;gap:2rem;padding:clamp(2rem,5vw,3.5rem);display:grid}@media (min-width:900px){.cta-band{grid-template-columns:minmax(0,1.3fr) auto}}.cta-band h2{letter-spacing:-.035em;font-size:clamp(1.9rem,4vw,2.9rem)}.cta-band .glyph-wall{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", sans-serif;color:#ffffff0a;pointer-events:none;white-space:nowrap;font-size:14rem;line-height:1;position:absolute;top:-2.5rem;right:-2rem}.filters{gap:1rem;display:grid}.filters .field{font-size:.85rem}.filter-toggle>summary{cursor:pointer;list-style:none}.filter-toggle>summary::-webkit-details-marker{display:none}.only-desk{display:none}@media (min-width:980px){.only-desk{display:block}.only-mobile{display:none}}.lang-tabs{scrollbar-width:none;gap:.4rem;padding-bottom:2px;display:flex;overflow-x:auto}.lang-tabs::-webkit-scrollbar{display:none}.lang-tabs a{flex-shrink:0}.lang-tabs a[aria-current=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.pager{justify-content:space-between;align-items:center;gap:1rem;padding-top:.5rem;display:flex}.profile-head{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.25rem;display:grid}.profile-head h1{font-size:clamp(2rem,4.5vw,3rem)}.section-block{border-top:1px solid var(--stroke);gap:1rem;padding-block:2rem;display:grid}.section-block>h2{font-size:1.45rem}.pull{border-left:3px solid var(--accent);font-family:var(--font-display);font-variation-settings:"SOFT" 50;color:var(--fg);margin:0;padding:.25rem 0 .25rem 1.25rem;font-size:1.2rem;line-height:1.5}.offering{grid-template-columns:minmax(0,1fr);gap:.85rem;padding:1.25rem;display:grid}@media (min-width:640px){.offering{grid-template-columns:minmax(0,1fr) auto;align-items:center}}.review{border-top:1px solid var(--stroke);gap:.6rem;padding-block:1.25rem;display:grid}.review:first-child{border-top:0;padding-top:0}.video-frame{border-radius:var(--radius-lg);background:#0f1613;overflow:hidden}.slot-days{scroll-snap-type:x proximity;grid-auto-columns:minmax(128px,1fr);grid-auto-flow:column;gap:.6rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.slot-day{scroll-snap-align:start;align-content:start;gap:.4rem;display:grid}.slot-day .dh{background:var(--sunken);text-align:center;border-radius:12px;gap:.1rem;margin-bottom:.2rem;padding:.6rem .7rem;display:grid}.slot-day .dh .w{letter-spacing:.07em;text-transform:uppercase;color:var(--subtle);font-size:.74rem;font-weight:700}.slot-day .dh .d{font-family:var(--font-display);font-size:1.15rem;font-weight:500}.slot{border:1px solid var(--stroke-strong);background:var(--surface);width:100%;min-height:44px;color:var(--fg);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;font-size:.92rem;font-weight:600;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex}.slot:hover{border-color:var(--fg);background:var(--fg);color:var(--bg)}.slots{flex-wrap:wrap;gap:.45rem;display:flex}.option-card{border:1px solid var(--stroke-strong);background:var(--surface);border-radius:14px;gap:.25rem;padding:.95rem 1.1rem;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:grid}.option-card:hover{border-color:var(--fg)}.option-card[aria-current=true]{border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}.summary-row{align-items:flex-start;gap:.75rem;font-size:.94rem;display:flex}.summary-row svg{color:var(--subtle);flex-shrink:0;margin-top:.15rem}.next-lesson{gap:1.5rem;padding:clamp(1.5rem,3vw,2.25rem);display:grid;overflow:hidden}@media (min-width:760px){.next-lesson{grid-template-columns:minmax(0,1fr) auto;align-items:end}}.next-lesson h2{color:var(--on-contrast);font-size:clamp(1.6rem,3vw,2.2rem)}.next-lesson .countdown{background:#ffffff1a;border-radius:999px;align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.85rem;font-weight:600;display:inline-flex}.next-lesson .live{background:#ffb27f;border-radius:999px;width:8px;height:8px;animation:1.8s infinite pulse;box-shadow:0 0 #ffb27f99}@keyframes pulse{50%{opacity:.5}}.next-lesson .orb{pointer-events:none;background:radial-gradient(circle,#e07a3d59,#0000 65%);border-radius:999px;width:340px;height:340px;position:absolute;top:-120px;right:-80px}.rail{scroll-snap-type:x proximity;grid-auto-columns:minmax(250px,1fr);grid-auto-flow:column;gap:1rem;padding-bottom:.5rem;display:grid;overflow-x:auto}.rail>*{scroll-snap-align:start}@media (min-width:1100px){.rail{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-auto-flow:row;overflow:visible}}.thread{gap:.35rem;padding:1.25rem;display:grid}.msg{justify-self:start;gap:.25rem;max-width:min(78%,34rem);display:grid}.msg .bubble{background:var(--sunken);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px 18px 18px 6px;padding:.65rem .95rem;line-height:1.45}.msg.mine{justify-self:end;justify-items:end}.msg.mine .bubble{background:var(--sage);color:#f3efe6;border-radius:18px 18px 6px}.msg .when{color:var(--subtle);padding-inline:.4rem;font-size:.75rem}.msg.system{text-align:center;justify-self:center;justify-items:center;max-width:34rem;margin-block:.6rem}.msg.system .bubble{border:1px dashed var(--stroke-strong);color:var(--muted);background:0 0;border-radius:12px;font-size:.88rem}.msg-group-gap{margin-top:.7rem}.composer{border-top:1px solid var(--stroke);align-items:flex-end;gap:.6rem;padding:.9rem 1rem;display:flex}.composer textarea{resize:vertical;border:1px solid var(--stroke-strong);background:var(--bg);min-height:44px;max-height:180px;color:var(--fg);font:inherit;border-radius:12px;flex:1;padding:.65rem .9rem;line-height:1.4}.composer textarea:focus{border-color:var(--good);box-shadow:0 0 0 3px var(--good);outline:none}@supports (color:color-mix(in lab, red, red)){.composer textarea:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--good) 22%, transparent)}}.unread-pill{background:var(--accent);min-width:22px;height:22px;color:var(--on-accent);border-radius:999px;place-items:center;padding:0 6px;font-size:.75rem;font-weight:700;display:inline-grid}.unread-bar{background:var(--accent);border-radius:999px;flex-shrink:0;width:8px;height:8px}.room{gap:1rem;display:grid}@media (min-width:1040px){.room{grid-template-columns:minmax(0,1fr) 340px;align-items:stretch}}.stage{border-radius:var(--radius-xl);aspect-ratio:3/4;color:#f1ece3;isolation:isolate;background:#0b110f;width:100%;max-height:72dvh;position:relative;overflow:hidden}@media (min-width:640px){.stage{aspect-ratio:16/10;max-height:none}}.stage .remote{object-fit:cover;background:#0b110f;width:100%;height:100%;position:absolute;inset:0}.stage .waiting{text-align:center;z-index:0;align-content:center;place-items:center;gap:1rem;padding:2rem;display:grid;position:absolute;inset:0}.stage .self{aspect-ratio:4/3;object-fit:cover;z-index:2;background:#17201c;border:1px solid #ffffff29;border-radius:14px;width:clamp(120px,22%,220px);position:absolute;bottom:5.5rem;right:1rem;transform:scaleX(-1);box-shadow:0 12px 30px #00000073}.stage .topbar{z-index:2;background:linear-gradient(#0000008c,#0000);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem;display:flex;position:absolute;inset:0 0 auto}.glass{-webkit-backdrop-filter:blur(10px);font-variant-numeric:tabular-nums;color:#f1ece3;background:#0f161399;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.45rem;min-height:32px;padding:0 .75rem;font-size:.84rem;font-weight:600;display:inline-flex}.controls{-webkit-backdrop-filter:blur(14px);z-index:3;background:#0f1613b8;border:1px solid #ffffff1f;border-radius:999px;align-items:center;gap:.5rem;padding:.5rem;display:flex;position:absolute;bottom:1rem;left:50%;transform:translate(-50%)}.ctl{color:#f1ece3;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;place-items:center;width:48px;height:48px;text-decoration:none;transition:background-color .15s;display:inline-grid}.ctl:hover{background:#ffffff38}.ctl.off{color:#15231f;background:#f1ece3}.ctl.end{background:#d9482b;gap:.4rem;width:auto;padding:0 1.1rem;font-size:.9rem;font-weight:600;display:inline-flex}.ctl.end:hover{background:#bf3b20}.room-side{grid-template-rows:auto minmax(0,1fr) auto;min-height:360px;display:grid;overflow:hidden}.chat-log{align-content:start;gap:.5rem;max-height:420px;padding:1rem 1.1rem;display:grid;overflow-y:auto}.auth{min-height:calc(100dvh - 64px);display:grid}@media (min-width:980px){.auth{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.auth-main{place-items:center;padding:clamp(2rem,6vw,4rem) 1.25rem;display:grid}.auth-card{gap:1.5rem;width:min(420px,100%);display:grid}.auth-card h1{font-size:clamp(2rem,4vw,2.6rem)}.auth-art{border-radius:var(--radius-xl);background:var(--sage);color:#f3efe6;align-content:end;margin:1rem 1rem 1rem 0;padding:3rem;display:none;position:relative;overflow:hidden}@media (min-width:980px){.auth-art{display:grid}}.auth-art .glyph-field{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;color:#f3efe61a;pointer-events:none;grid-template-columns:repeat(4,1fr);align-content:center;justify-items:center;gap:1rem 0;padding:2rem;font-size:clamp(3.5rem,6vw,5.5rem);line-height:1;display:grid;position:absolute;inset:0 0 42%}.auth-art .glyph-field span:nth-child(7n+3){color:#f4b78f80}.auth-art blockquote{font-family:var(--font-display);font-variation-settings:"SOFT" 50;letter-spacing:-.02em;max-width:30rem;margin:0;font-size:clamp(1.4rem,2.2vw,1.9rem);line-height:1.3;position:relative}.or{color:var(--subtle);align-items:center;gap:.9rem;font-size:.82rem;display:flex}.or:before,.or:after{content:"";background:var(--stroke);flex:1;height:1px}.btn-google{background:var(--surface);border-color:var(--stroke-strong);color:var(--fg);min-height:48px}.btn-google:hover{background:var(--sunken)}.rate-card{align-content:start;gap:.5rem;padding:1.5rem;display:grid}.rate-card .pct{font-family:var(--font-display);letter-spacing:-.04em;font-size:2.75rem;font-weight:450;line-height:1}.lost{text-align:center;justify-items:center;gap:1rem;padding-block:clamp(4rem,12vw,8rem);display:grid}.lost .big{font-family:var(--font-display);letter-spacing:-.06em;color:var(--accent);font-variation-settings:"SOFT" 100;font-size:clamp(6rem,18vw,11rem);line-height:.9}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.card-link:hover{transform:none}}.choices{flex-wrap:wrap;gap:.5rem;display:flex}.choice{border:1px solid var(--stroke-strong);background:var(--surface);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:.45rem;min-height:42px;padding:0 1rem;font-size:.92rem;font-weight:500;transition:background-color .12s,border-color .12s,color .12s;display:inline-flex;position:relative}.choice:hover{border-color:var(--fg)}.choice input{opacity:0;pointer-events:none;position:absolute}.choice:has(input:checked){background:var(--fg);border-color:var(--fg);color:var(--bg)}.choice:has(input:focus-visible){outline:2px solid var(--good);outline-offset:2px}.choice-card{border:1px solid var(--stroke-strong);background:var(--surface);cursor:pointer;border-radius:14px;gap:.2rem;padding:.9rem 1rem;transition:border-color .12s,box-shadow .12s;display:grid;position:relative}.choice-card:hover{border-color:var(--fg)}.choice-card input{opacity:0;pointer-events:none;position:absolute}.choice-card:has(input:checked){border-color:var(--fg);box-shadow:0 0 0 1px var(--fg)}.choice-card:has(input:focus-visible){outline:2px solid var(--good);outline-offset:2px}.choice-card .glyph{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;margin-bottom:.35rem;font-size:1.6rem;line-height:1}.choice-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.6rem;display:grid}@media (max-width:759px){.teacher-row>.avatar{--size:64px!important}}@media (max-width:639px){.stage .self{width:96px;top:4rem;bottom:auto;right:.75rem}.stage .waiting{padding-bottom:6rem}.ctl.end .label{clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.ctl.end{justify-content:center;width:56px;padding:0}}.glass{white-space:nowrap;text-overflow:ellipsis;max-width:70%;overflow:hidden}.logo-style-switch{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.875rem;display:flex}.logo-style-swatch{border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem}.logo-style-bright{background:#1769ed}.logo-style-site{background:var(--good)}.logo-style-switch button:disabled{cursor:wait;opacity:.7}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
:root[data-design=bright]{--blue:#0657f9;--blue-deep:#0446d6;--blue-edge:#0336ad;--blue-50:#eef3ff;--blue-100:#e0eaff;--blue-200:#c4d6ff;--blue-ink:#0839a8;--sky:#5c9bff;--navy:#0b1a3f;--navy-raised:#16295c;--navy-soft:#3c4b6e;--navy-faint:#5d6b8f;--teal:#00c2bd;--teal-deep:#009a95;--teal-soft:#d8f6f4;--teal-ink:#006b67;--sun:#ffb400;--sun-deep:#e09e00;--sun-soft:#fff4d6;--sun-ink:#7a4d00;--coral:#ff5a4f;--coral-deep:#e8372c;--coral-soft:#ffe7e4;--coral-ink:#c4271d;--violet:#6b4cf6;--mist:#f5f8ff;--mist-deep:#eaf0fe;--white:#fff;--ink:var(--navy);--ink-soft:var(--navy-soft);--ink-faint:var(--navy-faint);--cream:var(--mist);--cream-deep:var(--mist-deep);--paper:var(--white);--line:#e1e8f7;--line-strong:#c8d3ec;--apricot:var(--blue);--apricot-deep:var(--blue-deep);--apricot-soft:var(--blue-100);--apricot-ink:var(--blue-ink);--sage:var(--blue);--sage-deep:var(--blue-deep);--sage-soft:var(--blue-50);--sage-ink:var(--blue-ink);--gold:var(--sun);--danger:var(--coral-ink);--danger-soft:var(--coral-soft);--night:#070e24;--night-raised:#0f1a38;--night-sunken:#0a1330;--night-line:#1d2a4d;--night-line-strong:#2b3b66;--night-ink:#eef2fb;--bg:var(--mist);--sunken:var(--mist-deep);--surface:var(--white);--fg:var(--navy);--muted:var(--navy-soft);--subtle:var(--navy-faint);--stroke:var(--line);--stroke-strong:var(--line-strong);--accent:var(--blue);--accent-press:var(--blue-deep);--accent-soft:var(--blue-100);--accent-ink:var(--blue-ink);--on-accent:#fff;--good:var(--blue);--good-press:var(--blue-deep);--good-soft:var(--blue-50);--good-ink:var(--blue-ink);--bad:var(--coral-ink);--bad-soft:var(--coral-soft);--rating:var(--sun);--contrast:var(--blue);--on-contrast:#fff;--success:var(--teal-deep);--success-button:#00807b;--success-soft:var(--teal-soft);--success-ink:var(--teal-ink);--warn:var(--sun);--warn-soft:var(--sun-soft);--warn-ink:var(--sun-ink);--alert:var(--coral-deep);--press-edge:var(--blue-edge);--focus:var(--blue)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright]{--focus:color-mix(in oklab, var(--blue) 55%, transparent)}}:root[data-design=bright]{--header-bg:#ffffffdb;--footer-bg:var(--navy);--footer-fg:#ffffffbd;--dark-btn-hover:var(--navy-raised);--panel:linear-gradient(140deg, #1a6bff 0%, var(--blue) 45%, var(--blue-deep) 100%);--panel-alt:linear-gradient(150deg, var(--navy-raised) 0%, var(--navy) 70%);--stage:#050b1d;--shadow-sm:0 1px 2px #0b1a3f0f;--shadow:0 1px 2px #0b1a3f0d, 0 10px 28px -14px #063cb438;--shadow-lg:0 2px 6px #0b1a3f0f, 0 28px 56px -24px #063cb459;--radius-xs:8px;--radius-sm:12px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--font-sans:var(--font-bright-sans-family), "Hiragino Sans", "Noto Sans JP", "Noto Sans SC", "Noto Sans KR", system-ui, sans-serif;--font-display:var(--font-bright-display-family), var(--font-bright-sans-family), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@supports (color:lab(0% 0 0)){:root[data-design=bright]{--header-bg:lab(100% -.0000298023 .0000119209/.86)}}:root[data-design=bright][data-theme=dark]{--bg:var(--night);--sunken:var(--night-sunken);--surface:var(--night-raised);--fg:var(--night-ink);--muted:#b7c2dc;--subtle:#8593b5;--stroke:var(--night-line);--stroke-strong:var(--night-line-strong);--accent:#2f6df6;--accent-press:#2459d6;--accent-soft:#14275a;--accent-ink:#a9c6ff;--good:var(--sky);--good-press:#4a8dfc;--good-soft:#14275a;--good-ink:#a9c6ff;--bad:#ff8a80;--bad-soft:#3a1720;--rating:#ffc233;--contrast:#1747c4;--success:#3fd9d4;--success-soft:#0c3337;--success-ink:#7fe3df;--warn:#ffc94d;--warn-soft:#3a2a05;--warn-ink:#ffd77a;--alert:#ff6b61;--press-edge:#173f9e;--focus:var(--sky)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright][data-theme=dark]{--focus:color-mix(in oklab, var(--sky) 70%, transparent)}}:root[data-design=bright][data-theme=dark]{--header-bg:var(--night)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright][data-theme=dark]{--header-bg:color-mix(in oklab, var(--night) 82%, transparent)}}:root[data-design=bright][data-theme=dark]{--footer-bg:#050a1a;--footer-fg:#eef2fbb3;--dark-btn-hover:#dfe6f7;--panel:linear-gradient(140deg, #1f5ae6 0%, #1747c4 50%, #10328f 100%);--panel-alt:linear-gradient(150deg, #13214a 0%, #0b1533 70%);--shadow-sm:0 1px 2px #00000059;--shadow:0 1px 2px #00000059, 0 10px 28px -14px #0009;--shadow-lg:0 2px 6px #00000059, 0 28px 56px -24px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root[data-design=bright]:not([data-theme=light]){--bg:var(--night);--sunken:var(--night-sunken);--surface:var(--night-raised);--fg:var(--night-ink);--muted:#b7c2dc;--subtle:#8593b5;--stroke:var(--night-line);--stroke-strong:var(--night-line-strong);--accent:#2f6df6;--accent-press:#2459d6;--accent-soft:#14275a;--accent-ink:#a9c6ff;--good:var(--sky);--good-press:#4a8dfc;--good-soft:#14275a;--good-ink:#a9c6ff;--bad:#ff8a80;--bad-soft:#3a1720;--rating:#ffc233;--contrast:#1747c4;--success:#3fd9d4;--success-soft:#0c3337;--success-ink:#7fe3df;--warn:#ffc94d;--warn-soft:#3a2a05;--warn-ink:#ffd77a;--alert:#ff6b61;--press-edge:#173f9e;--focus:var(--sky)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright]:not([data-theme=light]){--focus:color-mix(in oklab, var(--sky) 70%, transparent)}}:root[data-design=bright]:not([data-theme=light]){--header-bg:var(--night)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright]:not([data-theme=light]){--header-bg:color-mix(in oklab, var(--night) 82%, transparent)}}:root[data-design=bright]:not([data-theme=light]){--footer-bg:#050a1a;--footer-fg:#eef2fbb3;--dark-btn-hover:#dfe6f7;--panel:linear-gradient(140deg, #1f5ae6 0%, #1747c4 50%, #10328f 100%);--panel-alt:linear-gradient(150deg, #13214a 0%, #0b1533 70%);--shadow-sm:0 1px 2px #00000059;--shadow:0 1px 2px #00000059, 0 10px 28px -14px #0009;--shadow-lg:0 2px 6px #00000059, 0 28px 56px -24px #000000bf;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-design=bright]{--rays:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='96 52 320 146'%3E%3Crect x='230' y='56' width='52' height='108' rx='26' fill='%23ffb400'/%3E%3Crect x='122' y='103' width='52' height='86' rx='26' fill='%2300c2bd' transform='rotate(-45 148 146)'/%3E%3Crect x='338' y='103' width='52' height='86' rx='26' fill='%23ff5a4f' transform='rotate(45 364 146)'/%3E%3C/svg%3E");--chevron:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%235d6b8f' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}:root[data-design=bright] body{font-feature-settings:normal;line-height:1.6}:root[data-design=bright] h1,:root[data-design=bright] h2,:root[data-design=bright] h3,:root[data-design=bright] h4,:root[data-design=bright] .display{font-variation-settings:normal;letter-spacing:-.025em;font-weight:800;line-height:1.1}:root[data-design=bright] h3,:root[data-design=bright] h4{letter-spacing:-.012em;line-height:1.25}:root[data-design=bright] ::selection{background:var(--blue-200);color:var(--navy)}:root[data-design=bright] :focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:10px}:root[data-design=bright] .skip{box-shadow:var(--shadow);font-weight:700}:root[data-design=bright] .eyebrow{background:var(--good-soft);min-height:28px;color:var(--good-ink);letter-spacing:.07em;border-radius:999px;gap:.5rem;width:max-content;max-width:100%;padding:0 .75rem 0 .6rem;font-size:.74rem;font-weight:800}:root[data-design=bright] .eyebrow:before{content:"";background:var(--rays) center / contain no-repeat;flex-shrink:0;width:22px;height:11px}:root[data-design=bright] .panel-contrast .eyebrow{background:#ffffff24;color:#fff!important}:root[data-design=bright] .lead{line-height:1.6}:root[data-design=bright] .strong,:root[data-design=bright] .link{font-weight:700}:root[data-design=bright] .price{font-weight:800}:root[data-design=bright] .price-lg,:root[data-design=bright] .serif{font-variation-settings:normal;font-weight:800}:root[data-design=bright] .prose h2{font-size:1.45rem}:root[data-design=bright] .site-header{background:var(--header-bg);-webkit-backdrop-filter:saturate(1.6)blur(16px);border-bottom:1px solid var(--stroke);box-shadow:inset 0 1px #fff6}:root[data-design=bright] .nav-primary{gap:.2rem}:root[data-design=bright] .nav-primary a{height:38px;color:var(--muted);padding:0 .95rem;font-weight:650}:root[data-design=bright] .nav-primary a:hover{color:var(--good-ink);background:var(--good-soft)}:root[data-design=bright] .nav-primary a[aria-current=page]{color:var(--good-ink);background:var(--accent-soft)}:root[data-design=bright] .icon-btn{width:42px;height:42px}:root[data-design=bright] .icon-btn:hover{background:var(--good-soft);color:var(--good-ink)}:root[data-design=bright] .icon-btn .dot{background:var(--alert);color:#fff;font-weight:800}:root[data-design=bright] .menu-panel{border-radius:20px;padding:.5rem}:root[data-design=bright] .menu-panel a,:root[data-design=bright] .menu-panel button{border-radius:12px;min-height:42px;font-weight:550}:root[data-design=bright] .menu-panel a:hover,:root[data-design=bright] .menu-panel button:hover{background:var(--good-soft);color:var(--good-ink)}:root[data-design=bright] .menu-panel a:hover svg,:root[data-design=bright] .menu-panel button:hover svg{color:var(--good)}:root[data-design=bright] .mobile-nav-panel{border-radius:0 0 24px 24px;padding:.75rem 1rem 1.25rem}:root[data-design=bright] .mobile-nav-panel a,:root[data-design=bright] .mobile-nav-panel button{border-radius:14px;padding:0 .75rem;font-weight:600}:root[data-design=bright] .mobile-nav-panel a:hover{background:var(--good-soft)}:root[data-design=bright] .mobile-nav-panel svg{color:var(--good)}:root[data-design=bright] .site-footer{background:var(--footer-bg);color:var(--footer-fg);border-top:0;border-radius:36px 36px 0 0;margin-top:clamp(2rem,5vw,4rem);position:relative;overflow:hidden}:root[data-design=bright] .site-footer:before{content:"";aspect-ratio:320/146;background:var(--rays) center / contain no-repeat;pointer-events:none;width:84px;position:absolute;top:1.1rem;right:clamp(1.25rem,4vw,2.5rem)}:root[data-design=bright] .footer-grid h2{font-family:var(--font-display);letter-spacing:-.01em;text-transform:none;color:#fff;font-size:1rem;font-weight:800}:root[data-design=bright] .footer-grid a:hover{color:#fff}:root[data-design=bright] .footer-base{border-top:1px solid #ffffff1f}:root[data-design=bright] .site-footer .segmented{background:#ffffff14;border-color:#ffffff1f}:root[data-design=bright] .site-footer .segmented button{color:var(--footer-fg)}:root[data-design=bright] .site-footer .segmented button:hover{color:#fff}:root[data-design=bright] .site-footer .segmented [aria-pressed=true]{color:var(--navy);box-shadow:none;background:#fff}:root[data-design=bright] .site-footer .input{color:#fff;background-color:#ffffff14;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-opacity='0.7' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");border-color:#ffffff29}:root[data-design=bright] .site-footer .input option{color:var(--navy);background:#fff}:root[data-design=bright] .btn{letter-spacing:0;border-radius:999px;min-height:44px;padding:0 1.3rem;font-weight:700}:root[data-design=bright] .btn:hover{background:var(--good-soft);color:var(--good-ink)}:root[data-design=bright] .btn-primary{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--press-edge), 0 10px 22px -12px var(--accent)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .btn-primary{box-shadow:0 3px 0 var(--press-edge), 0 10px 22px -12px color-mix(in oklab, var(--accent) 80%, transparent)}}:root[data-design=bright] .btn-primary:hover{background:var(--accent-press);color:var(--on-accent)}:root[data-design=bright] .btn-primary:active{box-shadow:0 0 0 var(--press-edge);transform:translateY(3px)}:root[data-design=bright] .btn-dark{background:var(--navy);color:#fff}:root[data-design=bright] .btn-dark:hover{background:var(--dark-btn-hover);color:#fff}:root[data-design=bright][data-theme=dark] .btn-dark,:root[data-design=bright][data-theme=dark] .btn-dark:hover{color:var(--navy)}:root[data-design=bright][data-theme=dark] .btn-dark{background:var(--night-ink)}@media (prefers-color-scheme:dark){:root[data-design=bright]:not([data-theme=light]) .btn-dark{background:var(--night-ink);color:var(--navy)}:root[data-design=bright]:not([data-theme=light]) .btn-dark:hover{color:var(--navy)}}:root[data-design=bright] .btn-line{background:var(--surface);border:1.5px solid var(--stroke-strong);color:var(--fg)}:root[data-design=bright] .btn-line:hover{background:var(--good-soft);border-color:var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .btn-line:hover{border-color:color-mix(in oklab, var(--good) 45%, transparent)}}:root[data-design=bright] .btn-line:hover{color:var(--good-ink)}:root[data-design=bright] .btn-ghost{color:var(--muted)}:root[data-design=bright] .btn-ghost:hover{color:var(--good-ink)}:root[data-design=bright] .btn-danger{border-width:1.5px}:root[data-design=bright] .btn-danger:hover{background:var(--bad-soft);color:var(--bad)}:root[data-design=bright] .btn-sm{border-radius:999px;min-height:36px;padding:0 .95rem}:root[data-design=bright] .btn-lg{border-radius:999px;min-height:54px;padding:0 1.7rem;font-size:1.04rem}:root[data-design=bright] .btn-sage{background:var(--success-button);color:#fff}:root[data-design=bright] .btn-sage:hover{background:var(--teal-ink);color:#fff}:root[data-design=bright] .btn-google{border:1.5px solid var(--stroke-strong);min-height:50px}:root[data-design=bright] .btn-google:hover{background:var(--sunken);color:var(--fg)}:root[data-design=bright] .card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm), 0 6px 20px -14px #063cb42e}:root[data-design=bright] .card-head h2,:root[data-design=bright] .card-head h3{letter-spacing:-.01em;font-size:1.15rem}:root[data-design=bright] .card-foot{border-radius:0 0 var(--radius-lg) var(--radius-lg)}:root[data-design=bright] .card-link:hover{border-color:var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .card-link:hover{border-color:color-mix(in oklab, var(--good) 40%, var(--stroke))}}:root[data-design=bright] .card-link:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}:root[data-design=bright] .panel-contrast{background:var(--panel);color:#fff;border-radius:var(--radius-xl);box-shadow:0 24px 48px -28px #063cc8b3}:root[data-design=bright] .panel-contrast:before{content:"";aspect-ratio:320/146;background:var(--rays) center / contain no-repeat;pointer-events:none;width:clamp(64px,9vw,104px);position:absolute;top:clamp(.9rem,2.4vw,1.5rem);right:clamp(1rem,3vw,2rem)}:root[data-design=bright] .panel-contrast .muted,:root[data-design=bright] .panel-contrast .meta{color:#ffffffdb}:root[data-design=bright] .panel-contrast .btn-primary{background:var(--sun);color:var(--navy);box-shadow:0 3px 0 var(--sun-deep), 0 12px 24px -12px #00000073}:root[data-design=bright] .panel-contrast .btn-primary:hover{color:var(--navy);background:#ffc21f}:root[data-design=bright] .panel-contrast .btn-primary:active{box-shadow:0 0 0 var(--sun-deep)}:root[data-design=bright] .panel-contrast .btn:not(.btn-primary):hover{color:#fff;background:#ffffff24}:root[data-design=bright] .panel-sunken{border-radius:var(--radius-lg)}:root[data-design=bright] .field{font-weight:650}:root[data-design=bright] .field input:not([type=checkbox]):not([type=radio]):not([type=file]),:root[data-design=bright] .field select,:root[data-design=bright] .field textarea,:root[data-design=bright] .input{border:1.5px solid var(--stroke-strong);border-radius:14px;min-height:48px;padding:.65rem .9rem}:root[data-design=bright] .field textarea{min-height:120px}:root[data-design=bright] .field select,:root[data-design=bright] select.input{background-image:var(--chevron);background-position:right .8rem center;padding-right:2.4rem}:root[data-design=bright] .field input:hover,:root[data-design=bright] .field select:hover,:root[data-design=bright] .field textarea:hover{border-color:var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .field input:hover,:root[data-design=bright] .field select:hover,:root[data-design=bright] .field textarea:hover{border-color:color-mix(in oklab, var(--good) 45%, var(--stroke-strong))}}:root[data-design=bright] .field input:focus,:root[data-design=bright] .field select:focus,:root[data-design=bright] .field textarea:focus,:root[data-design=bright] .input:focus{border-color:var(--good);box-shadow:0 0 0 4px var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .field input:focus,:root[data-design=bright] .field select:focus,:root[data-design=bright] .field textarea:focus,:root[data-design=bright] .input:focus{box-shadow:0 0 0 4px color-mix(in oklab, var(--good) 18%, transparent)}}:root[data-design=bright] .field input[type=file]{border:1.5px dashed var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .field input[type=file]{border:1.5px dashed color-mix(in oklab, var(--good) 40%, var(--stroke-strong))}}:root[data-design=bright] .field input[type=file]{background:var(--good-soft);border-radius:14px}:root[data-design=bright] .field input[type=file]::file-selector-button{background:var(--accent);color:var(--on-accent);border:0;border-radius:999px;font-weight:700}:root[data-design=bright] .form-section .fieldset-head h2,:root[data-design=bright] .form-section .fieldset-head h3{font-size:1.15rem}:root[data-design=bright] .check input{accent-color:var(--accent)}:root[data-design=bright] .switch input{width:46px;height:26px}:root[data-design=bright] .switch input:after{width:20px;height:20px;box-shadow:0 1px 3px #0b1a3f4d}:root[data-design=bright] .switch input:checked{background:var(--accent)}:root[data-design=bright] .switch input:checked:after{transform:translate(20px)}:root[data-design=bright] .segmented{border:0;border-radius:999px;gap:2px;padding:4px}:root[data-design=bright] .segmented a,:root[data-design=bright] .segmented button,:root[data-design=bright] .segmented label{border-radius:999px;font-weight:700}:root[data-design=bright] .segmented a:hover,:root[data-design=bright] .segmented button:hover{color:var(--good-ink)}:root[data-design=bright] .segmented [aria-current=true],:root[data-design=bright] .segmented [aria-pressed=true]{background:var(--surface);color:var(--good-ink);box-shadow:var(--shadow-sm), 0 0 0 1px var(--stroke)}:root[data-design=bright] .segmented label:has(input:checked){background:var(--surface);color:var(--good-ink);box-shadow:var(--shadow-sm), 0 0 0 1px var(--stroke)}:root[data-design=bright] .rate input:focus-visible+label{outline:3px solid var(--focus)}:root[data-design=bright] .badge{border-color:#0000;border-radius:999px;min-height:24px;padding:0 .6rem;font-size:.75rem;font-weight:750}:root[data-design=bright] .badge-sage{background:var(--success-soft);color:var(--success-ink)}:root[data-design=bright] .badge-apricot{background:var(--warn-soft);color:var(--warn-ink)}:root[data-design=bright] .badge-dark{background:var(--navy);color:#fff}:root[data-design=bright][data-theme=dark] .badge-dark{background:var(--night-ink);color:var(--navy)}@media (prefers-color-scheme:dark){:root[data-design=bright]:not([data-theme=light]) .badge-dark{background:var(--night-ink);color:var(--navy)}}:root[data-design=bright] .chip{min-height:32px;padding:0 .85rem;font-weight:650}:root[data-design=bright] a.chip:hover{background:var(--accent-soft)}:root[data-design=bright] .chip-line{border:1.5px solid var(--stroke-strong)}:root[data-design=bright] a.chip-line:hover{border-color:var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] a.chip-line:hover{border-color:color-mix(in oklab, var(--good) 45%, transparent)}}:root[data-design=bright] a.chip-line:hover{background:var(--good-soft);color:var(--good-ink)}:root[data-design=bright] .tag{border-radius:999px;min-height:26px;padding:0 .65rem;font-size:.78rem;font-weight:650}:root[data-design=bright] .notice{border-color:var(--good);border-radius:16px}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .notice{border-color:color-mix(in oklab, var(--good) 20%, transparent)}}:root[data-design=bright] .notice{font-weight:500}:root[data-design=bright] .notice-warn{border-color:var(--warn)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .notice-warn{border-color:color-mix(in oklab, var(--warn) 45%, transparent)}}:root[data-design=bright] .notice-warn{background:var(--warn-soft);color:var(--warn-ink)}:root[data-design=bright] .notice-danger{border-color:var(--bad)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .notice-danger{border-color:color-mix(in oklab, var(--bad) 30%, transparent)}}:root[data-design=bright] .notice-danger{background:var(--bad-soft);color:var(--bad)}:root[data-design=bright] .notice-plain{border-color:var(--stroke);background:var(--sunken);color:var(--muted)}:root[data-design=bright] .avatar{font-family:var(--font-display);font-variation-settings:normal;letter-spacing:-.01em;font-weight:800}:root[data-design=bright] .avatar-square{border-radius:32%}:root[data-design=bright] .avatar .glyph{opacity:.2;font-weight:800}:root[data-design=bright] .avatar[data-tone="0"]{--av-bg:#0657f9!important;--av-fg:#fff!important}:root[data-design=bright] .avatar[data-tone="1"]{--av-bg:#0b1a3f!important;--av-fg:#fff!important}:root[data-design=bright] .avatar[data-tone="2"]{--av-bg:#00857f!important;--av-fg:#fff!important}:root[data-design=bright] .avatar[data-tone="3"]{--av-bg:#ffb400!important;--av-fg:#0b1a3f!important}:root[data-design=bright] .avatar[data-tone="4"]{--av-bg:#e23a2f!important;--av-fg:#fff!important}:root[data-design=bright] .avatar[data-tone="5"]{--av-bg:#6b4cf6!important;--av-fg:#fff!important}:root[data-design=bright] .avatar[data-tone="6"]{--av-bg:#1479c4!important;--av-fg:#fff!important}:root[data-design=bright] .avatar[data-tone="7"]{--av-bg:#12854a!important;--av-fg:#fff!important}:root[data-design=bright] .avatar .ring{box-shadow:inset 0 0 0 1px #ffffff29,inset 0 -10px 20px -12px #0003}:root[data-design=bright] .status-dot{background:var(--teal)}:root[data-design=bright] .teacher-card{gap:1rem;padding:1.35rem}:root[data-design=bright] .teacher-card .name{font-variation-settings:normal;letter-spacing:-.015em;font-size:1.2rem;font-weight:800}:root[data-design=bright] .teacher-card .foot{border-top:1.5px dashed var(--stroke)}:root[data-design=bright] .teacher-card .price{color:var(--good-ink);font-size:1.12rem}:root[data-design=bright] .teacher-row .aside{border-color:var(--stroke)}:root[data-design=bright] .teacher-row h3 a:hover{color:var(--good)}:root[data-design=bright] .stat-grid{background:0 0;border:0;border-radius:0;gap:.75rem;overflow:visible}:root[data-design=bright] .stat{border:1px solid var(--stroke);box-shadow:var(--shadow-sm);border-radius:20px;padding:1.35rem 1.25rem 1.15rem;position:relative}:root[data-design=bright] .stat:before{content:"";background:var(--blue);border-radius:999px;width:28px;height:6px;margin-bottom:.35rem}:root[data-design=bright] .stat:nth-child(4n+2):before{background:var(--teal)}:root[data-design=bright] .stat:nth-child(4n+3):before{background:var(--sun)}:root[data-design=bright] .stat:nth-child(4n+4):before{background:var(--coral)}:root[data-design=bright] .stat .label{font-weight:600}:root[data-design=bright] .stat .value{font-variation-settings:normal;letter-spacing:-.03em;font-weight:900}:root[data-design=bright] a.list-row:hover{background:var(--good-soft)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] a.list-row:hover{background:color-mix(in oklab, var(--good-soft) 70%, transparent)}}:root[data-design=bright] .list-row .title{font-weight:700}:root[data-design=bright] a.list-row:hover .chev{color:var(--good)}:root[data-design=bright] .datebox{background:var(--good-soft);border:0;border-radius:16px}:root[data-design=bright] .datebox .mo{color:var(--good);font-weight:800}:root[data-design=bright] .datebox .d{font-weight:900}:root[data-design=bright] .datebox-dark{background:#ffffff29}:root[data-design=bright] .datebox-dark .mo{color:var(--sun)}:root[data-design=bright] .icon-tile{background:var(--good-soft);color:var(--good);border-radius:14px}:root[data-design=bright] .icon-tile-apricot{background:var(--warn-soft);color:var(--warn-ink)}:root[data-design=bright] .icon-tile-plain{background:var(--sunken);color:var(--muted)}:root[data-design=bright] .icon-tile-lg{border-radius:16px}:root[data-design=bright] .table thead th{letter-spacing:.05em;font-weight:750}:root[data-design=bright] .table tbody tr:hover{background:var(--good-soft)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .table tbody tr:hover{background:color-mix(in oklab, var(--good-soft) 55%, transparent)}}:root[data-design=bright] .ledger .total dt,:root[data-design=bright] .ledger .total dd{font-weight:800}:root[data-design=bright] .tabs{background:var(--sunken);border-bottom:0;border-radius:999px;gap:.25rem;width:max-content;max-width:100%;padding:4px}:root[data-design=bright] .tabs a{border-bottom:0;border-radius:999px;height:40px;margin-bottom:0;padding:0 1rem;font-weight:650}:root[data-design=bright] .tabs a:hover{color:var(--good-ink)}:root[data-design=bright] .tabs a[aria-current=page]{background:var(--surface);color:var(--good-ink);box-shadow:var(--shadow-sm), 0 0 0 1px var(--stroke);font-weight:750}:root[data-design=bright] .disclosure>summary{font-weight:700}:root[data-design=bright] .disclosure>summary:after{border-color:var(--good)}:root[data-design=bright] .disclosure-card{border-radius:18px}:root[data-design=bright] .progress{height:8px}:root[data-design=bright] .progress>span{background:linear-gradient(90deg, var(--teal), var(--blue))}:root[data-design=bright] .empty:before{content:"";background:var(--rays) center / contain no-repeat;width:52px;height:24px;margin-bottom:-.35rem}:root[data-design=bright] .empty .icon-tile-plain{background:var(--good-soft);color:var(--good)}:root[data-design=bright] .hero h1{letter-spacing:-.035em;font-variation-settings:normal;font-weight:900;line-height:1.02}:root[data-design=bright] .section-head h2{letter-spacing:-.03em}:root[data-design=bright] .step .n{width:44px;height:44px;font-family:var(--font-display);color:#fff;background:var(--teal-deep);border-radius:14px 14px 14px 4px;font-size:1.15rem;font-weight:900}:root[data-design=bright] .step:nth-child(3n+2) .n{background:var(--sun);color:var(--navy)}:root[data-design=bright] .step:nth-child(3n+3) .n{background:var(--coral-deep)}:root[data-design=bright] .quote{border-radius:24px 24px 24px 6px}:root[data-design=bright] .quote blockquote,:root[data-design=bright] .pull,:root[data-design=bright] .auth-art blockquote{font-variation-settings:normal;letter-spacing:-.012em;font-weight:700}:root[data-design=bright] .feature h3{font-size:1.12rem}:root[data-design=bright] .feature:nth-child(4n+2) .icon-tile{background:var(--success-soft);color:var(--success-ink)}:root[data-design=bright] .feature:nth-child(4n+3) .icon-tile{background:var(--warn-soft);color:var(--warn-ink)}:root[data-design=bright] .feature:nth-child(4n+4) .icon-tile{background:var(--bad-soft);color:var(--bad)}:root[data-design=bright] .cta-band h2{color:#fff;letter-spacing:-.035em;font-weight:900}:root[data-design=bright] .cta-band .glyph-wall{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", sans-serif;color:#ffffff12;font-weight:900;top:auto;bottom:-4rem}:root[data-design=bright] .lang-tile .glyph,:root[data-design=bright] .lang-tile .endonym{font-weight:800}:root[data-design=bright] .rate-card .pct{color:var(--good);font-weight:900}:root[data-design=bright] .lang-tabs a[aria-current=true]{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}:root[data-design=bright] .section-block>h2{font-size:1.4rem}:root[data-design=bright] .pull{background:var(--good-soft);color:var(--good-ink);border-left:0;border-radius:20px 20px 20px 6px;padding:1rem 1.25rem;font-size:1.12rem}:root[data-design=bright] .video-frame{background:var(--stage)}:root[data-design=bright] .slot-day .dh{background:var(--good-soft);border-radius:16px}:root[data-design=bright] .slot-day .dh .w{color:var(--good);font-weight:800}:root[data-design=bright] .slot-day .dh .d{font-weight:900}:root[data-design=bright] .slot{border:1.5px solid var(--stroke-strong);border-radius:999px;font-weight:700}:root[data-design=bright] .slot:hover{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}:root[data-design=bright] .option-card{border:1.5px solid var(--stroke-strong);border-radius:18px}:root[data-design=bright] .option-card:hover{border-color:var(--good)}:root[data-design=bright] .option-card[aria-current=true]{border-color:var(--good);background:var(--good-soft);box-shadow:0 0 0 1px var(--good)}:root[data-design=bright] .next-lesson h2{color:#fff;padding-right:clamp(4rem,9vw,7rem);font-weight:900}:root[data-design=bright] .next-lesson .countdown{background:#ffffff2e;font-weight:700}:root[data-design=bright] .next-lesson .live{background:var(--sun);animation-name:bright-pulse}@keyframes bright-pulse{0%{box-shadow:0 0 #ffb40099}70%{box-shadow:0 0 0 9px #ffb40000}to{box-shadow:0 0 #ffb40000}}:root[data-design=bright] .next-lesson .orb{background:radial-gradient(circle,#5c9bff8c,#0000 65%);width:420px;height:420px;inset:auto auto -180px -120px}:root[data-design=bright] .msg .bubble{background:var(--sunken);border-radius:20px 20px 20px 6px;padding:.7rem 1rem}:root[data-design=bright] .msg.mine .bubble{background:var(--accent);color:var(--on-accent);border-radius:20px 20px 6px}:root[data-design=bright] .msg.system .bubble{border:1.5px dashed var(--stroke-strong);background:0 0;border-radius:999px}:root[data-design=bright] .composer textarea{border:1.5px solid var(--stroke-strong);border-radius:22px;padding:.7rem 1rem}:root[data-design=bright] .composer textarea:focus{border-color:var(--good);box-shadow:0 0 0 4px var(--good)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .composer textarea:focus{box-shadow:0 0 0 4px color-mix(in oklab, var(--good) 18%, transparent)}}:root[data-design=bright] .unread-pill{background:var(--alert);color:#fff;font-weight:800}:root[data-design=bright] .unread-bar{background:var(--alert)}:root[data-design=bright] .stage{background:var(--stage);color:#eef2fb}:root[data-design=bright] .stage .remote{background:var(--stage)}:root[data-design=bright] .stage .self{background:#0f1a38;border-radius:18px}:root[data-design=bright] .stage .waiting .avatar{--av-bg:var(--blue)!important;--av-fg:#fff!important}:root[data-design=bright] .glass{color:#eef2fb;background:#070e249e}:root[data-design=bright] .controls{background:#070e24bd}:root[data-design=bright] .ctl{color:#eef2fb}:root[data-design=bright] .ctl.off{color:var(--navy);background:#fff}:root[data-design=bright] .ctl.end{background:var(--coral-deep);color:#fff}:root[data-design=bright] .ctl.end:hover{background:#cf2a20}:root[data-design=bright] .auth-art{background:radial-gradient(90% 70% at 100% 0%, #0657f98c, transparent 60%), radial-gradient(70% 60% at 0% 100%, #00c2bd38, transparent 60%), var(--navy);color:#fff}:root[data-design=bright] .auth-art .glyph-field{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;font-weight:800}:root[data-design=bright] .auth-art .glyph-field span{color:#ffffff14}:root[data-design=bright] .auth-art .glyph-field span:nth-child(3){color:#00c2bdcc}:root[data-design=bright] .auth-art .glyph-field span:nth-child(8){color:#ffb400cc}:root[data-design=bright] .auth-art .glyph-field span:nth-child(14){color:#ff5a4fcc}:root[data-design=bright] .auth-card h1{font-weight:900}:root[data-design=bright] .lost:before{content:"";aspect-ratio:320/146;background:var(--rays) center / contain no-repeat;width:110px}:root[data-design=bright] .lost .big{font-variation-settings:normal;letter-spacing:-.05em;color:var(--accent);font-weight:900}:root[data-design=bright] .choice{border:1.5px solid var(--stroke-strong);min-height:44px;font-weight:650}:root[data-design=bright] .choice:hover{border-color:var(--good);color:var(--good-ink)}:root[data-design=bright] .choice:has(input:checked){background:var(--accent);border-color:var(--accent);color:var(--on-accent)}:is(:root[data-design=bright] .choice:has(input:focus-visible),:root[data-design=bright] .choice-card:has(input:focus-visible)){outline:3px solid var(--focus)}:root[data-design=bright] .choice-card{border:1.5px solid var(--stroke-strong);border-radius:18px}:root[data-design=bright] .choice-card:hover{border-color:var(--good)}:root[data-design=bright] .choice-card:has(input:checked){border-color:var(--good);background:var(--good-soft);box-shadow:0 0 0 1px var(--good)}:root[data-design=bright] .choice-card .glyph{color:var(--good);font-weight:800}:root[data-design=bright] .logo-style-bright{background:var(--blue)}:root[data-design=bright] .logo-style-site{background:#2f6f62}:root[data-design=bright] .b-tint-0{--tint:var(--blue);--tint-on:#fff;--tint-soft:var(--good-soft);--tint-ink:var(--good-ink)}:root[data-design=bright] .b-tint-1{--tint:var(--teal);--tint-on:var(--navy);--tint-soft:var(--success-soft);--tint-ink:var(--success-ink)}:root[data-design=bright] .b-tint-2{--tint:var(--sun);--tint-on:var(--navy);--tint-soft:var(--warn-soft);--tint-ink:var(--warn-ink)}:root[data-design=bright] .b-tint-3{--tint:var(--coral);--tint-on:var(--navy);--tint-soft:var(--bad-soft);--tint-ink:var(--bad)}:root[data-design=bright] .b-kicker{color:#fff;letter-spacing:.07em;text-transform:uppercase;background:#ffffff29;border-radius:999px;align-items:center;gap:.55rem;width:max-content;max-width:100%;min-height:30px;padding:0 .9rem 0 .7rem;font-size:.75rem;font-weight:800;display:inline-flex}:root[data-design=bright] .b-kicker:before{content:"";background:var(--rays) center / contain no-repeat;flex-shrink:0;width:24px;height:12px}:root[data-design=bright] .b-glyph{background:var(--tint);width:64px;height:58px;color:var(--tint-on);font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;border-radius:20px 20px 20px 6px;place-items:center;font-size:1.8rem;font-weight:800;line-height:1;display:grid;position:absolute;transform:rotate(-7deg);box-shadow:0 16px 30px -14px #0314508c}:root[data-design=bright] .b-glyph.b-tint-2{transform:rotate(8deg)}:root[data-design=bright] .b-hero{padding-block:clamp(.75rem,2.5vw,1.75rem) 0}:root[data-design=bright] .b-hero-card{background:radial-gradient(55% 70% at 100% 0%, #fff3, transparent 60%), radial-gradient(45% 60% at 0% 100%, #00c2bd59, transparent 65%), var(--panel);color:#fff;border-radius:clamp(28px,4vw,44px);padding:clamp(1.75rem,5vw,4rem) clamp(1.25rem,5vw,4rem) clamp(1.5rem,3vw,2.5rem);position:relative;overflow:hidden;box-shadow:0 30px 60px -36px #063cc8bf}:root[data-design=bright] .b-hero-card:before{content:"";pointer-events:none;background-image:radial-gradient(#ffffff29 1.2px,#0000 1.2px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(200deg,#000000e6,#0000 55%);mask-image:linear-gradient(200deg,#000000e6,#0000 55%)}:root[data-design=bright] .b-hero-grid{align-items:center;gap:2.5rem;display:grid;position:relative}@media (min-width:1000px){:root[data-design=bright] .b-hero-grid{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:3rem}}:root[data-design=bright] .b-hero-copy{min-width:0}:root[data-design=bright] .b-hero h1{color:#fff;letter-spacing:-.04em;margin-top:1.2rem;font-size:clamp(2.6rem,6.4vw,4.9rem);font-weight:900;line-height:1}:root[data-design=bright] .b-hero-lead{color:#ffffffeb;max-width:34rem;margin-top:1.25rem;font-size:clamp(1.05rem,1.6vw,1.22rem)}:root[data-design=bright] .b-search{background:var(--surface);max-width:38rem;color:var(--fg);border-radius:28px;gap:.35rem;margin-top:2rem;padding:.5rem;display:grid;box-shadow:0 26px 50px -22px #031964a6}@media (min-width:560px){:root[data-design=bright] .b-search{border-radius:999px;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center}}:root[data-design=bright] .b-search-field{cursor:pointer;border-radius:999px;gap:.05rem;padding:.5rem 1.1rem;transition:background-color .15s;display:grid;position:relative}:root[data-design=bright] .b-search-field:hover{background:var(--sunken)}:root[data-design=bright] .b-search-field:focus-within{box-shadow:0 0 0 3px var(--focus)}:root[data-design=bright] .b-search-field>span{letter-spacing:.07em;text-transform:uppercase;color:var(--subtle);font-size:.7rem;font-weight:800}:root[data-design=bright] .b-search-field select{appearance:none;background:transparent var(--chevron) no-repeat right center;width:100%;color:var(--fg);font:inherit;cursor:pointer;border:0;outline:none;padding:0 1.4rem 0 0;font-size:1rem;font-weight:650}@media (min-width:560px){:root[data-design=bright] .b-search-field+.b-search-field:before{content:"";background:var(--stroke);width:1.5px;position:absolute;top:24%;bottom:24%;left:-.2rem}}:root[data-design=bright] .b-search .btn-primary{min-height:56px}:root[data-design=bright] .b-popular{color:#ffffffd9;flex-wrap:wrap;align-items:center;gap:.45rem;margin-top:1.25rem;font-size:.875rem;display:flex}:root[data-design=bright] .b-popular a{color:#fff;background:#ffffff26;border-radius:999px;padding:.3rem .85rem;font-weight:650;text-decoration:none;transition:background-color .15s}:root[data-design=bright] .b-popular a:hover{background:#ffffff42}:root[data-design=bright] .b-hero-visual{flex-direction:column;align-items:center;padding:.5rem 1rem 1rem;display:flex;position:relative}:root[data-design=bright] .b-bubble-wrap{width:min(380px,100%);padding-top:72px;position:relative}:root[data-design=bright] .b-rays{aspect-ratio:320/146;background:var(--rays) center / contain no-repeat;width:140px;position:absolute;top:0;left:50%;transform:translate(-50%)}:root[data-design=bright] .b-bubble{background:var(--surface);color:var(--fg);border-radius:32px 32px 32px 8px;gap:1rem;padding:1.3rem;display:grid;position:relative;box-shadow:0 32px 64px -26px #03145ab3}:root[data-design=bright] .b-bubble:after{content:"";background:var(--surface);clip-path:polygon(0 0,100% 0,6% 100%);width:34px;height:26px;position:absolute;bottom:-20px;left:0}:root[data-design=bright] .b-spot{align-items:center;gap:.85rem;display:flex}:root[data-design=bright] .b-spot-name{font-family:var(--font-display);letter-spacing:-.015em;font-size:1.18rem;font-weight:800}:root[data-design=bright] .b-spot-times{border-top:1.5px dashed var(--stroke-strong);gap:.75rem;padding-top:.95rem;display:grid}:root[data-design=bright] .b-slot-row{flex-wrap:wrap;gap:.4rem;display:flex}:root[data-design=bright] .b-slot{border:1.5px solid var(--stroke-strong);font-variant-numeric:tabular-nums;border-radius:999px;align-items:center;min-height:34px;padding:0 .8rem;font-size:.85rem;font-weight:700;display:inline-flex}:root[data-design=bright] .b-slot.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}:root[data-design=bright] .b-room{background:var(--navy);color:#fff;border-radius:20px;align-items:center;gap:.75rem;width:min(340px,92%);margin-top:3.25rem;padding:.8rem .9rem;display:flex;position:relative;transform:translate(-8%)rotate(-1.5deg);box-shadow:0 22px 44px -22px #030a28cc}:root[data-design=bright] .b-room .tiny{color:#ffffffbd}:root[data-design=bright] .b-room-icon{width:38px;height:38px;color:var(--sun);background:#ffffff1f;border-radius:12px;flex-shrink:0;place-items:center;display:grid}:root[data-design=bright] .b-bubble-wrap>.b-glyph{z-index:1}:root[data-design=bright] .b-bubble-wrap>.b-tint-1{top:22px;left:-30px}:root[data-design=bright] .b-bubble-wrap>.b-tint-2{top:74%;right:-44px}:root[data-design=bright] .b-bubble-wrap>.b-tint-3{bottom:-38px;right:34px;transform:rotate(-4deg)}@media (max-width:559px){:root[data-design=bright] .b-bubble-wrap>.b-glyph{border-radius:16px 16px 16px 5px;width:48px;height:44px;font-size:1.35rem}:root[data-design=bright] .b-bubble-wrap>.b-tint-1{left:-18px}:root[data-design=bright] .b-bubble-wrap>.b-tint-2{right:-26px}:root[data-design=bright] .b-room{transform:none}}:root[data-design=bright] .b-proof{border-top:1px solid #fff3;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem;margin:clamp(2rem,4vw,3rem) 0 0;padding-top:1.5rem;display:grid;position:relative}:root[data-design=bright] .b-proof>div{flex-direction:column-reverse;gap:.25rem;display:flex}:root[data-design=bright] .b-proof dd{font-family:var(--font-display);letter-spacing:-.03em;color:#fff;align-items:center;gap:.35rem;margin:0;font-size:clamp(1.9rem,3.4vw,2.6rem);font-weight:900;line-height:1;display:inline-flex}:root[data-design=bright] .b-proof dt{color:#ffffffd9;font-size:.9rem;font-weight:600}:root[data-design=bright] .b-lang-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@media (min-width:640px){:root[data-design=bright] .b-lang-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1000px){:root[data-design=bright] .b-lang-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}}:root[data-design=bright] .b-lang{border:1px solid var(--stroke);background:var(--surface);box-shadow:var(--shadow-sm);border-radius:24px;align-content:start;gap:.85rem;padding:1.1rem;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:grid;position:relative}:root[data-design=bright] .b-lang:hover{border-color:var(--tint);transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .b-lang:hover{border-color:color-mix(in oklab, var(--tint) 60%, var(--stroke))}}:root[data-design=bright] .b-lang:hover{box-shadow:var(--shadow-lg)}:root[data-design=bright] .b-lang-glyph{background:var(--tint);width:54px;height:50px;color:var(--tint-on);font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;border-radius:18px 18px 18px 5px;place-items:center;font-size:1.55rem;font-weight:800;line-height:1;transition:transform .25s;display:grid}:root[data-design=bright] .b-lang:hover .b-lang-glyph{transform:rotate(-6deg)scale(1.06)}:root[data-design=bright] .b-lang-text{gap:.1rem;min-width:0;display:grid}:root[data-design=bright] .b-lang-name{font-family:var(--font-display), "Hiragino Sans", "Noto Sans JP", "Noto Sans KR", "Noto Sans SC", sans-serif;letter-spacing:-.015em;font-size:1.18rem;font-weight:800}:root[data-design=bright] .b-lang-go{color:var(--subtle);transition:color .15s,transform .2s;position:absolute;top:1.1rem;right:1.1rem}:root[data-design=bright] .b-lang:hover .b-lang-go{color:var(--good);transform:translate(2px,-2px)}:root[data-design=bright] .b-steps-panel{background:var(--good-soft);border-radius:clamp(28px,4vw,40px);padding:clamp(1.5rem,4vw,3rem)}:root[data-design=bright] .b-steps{gap:1rem;list-style:none;display:grid}@media (min-width:860px){:root[data-design=bright] .b-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}}:root[data-design=bright] .b-step{background:var(--surface);box-shadow:var(--shadow-sm), 0 10px 24px -18px #063cb44d;border-radius:24px;align-content:start;gap:.55rem;padding:1.5rem;display:grid;position:relative}@media (min-width:860px){:root[data-design=bright] .b-step:not(:last-child):after{content:"";border-top:2.5px dashed var(--good);width:1.5rem;position:absolute;top:2.95rem;right:-1.5rem}@supports (color:color-mix(in lab, red, red)){:root[data-design=bright] .b-step:not(:last-child):after{border-top:2.5px dashed color-mix(in oklab, var(--good) 55%, transparent)}}}:root[data-design=bright] .b-step-n{background:var(--tint);width:50px;height:46px;color:var(--tint-on);font-family:var(--font-display);border-radius:16px 16px 16px 5px;place-items:center;margin-bottom:.5rem;font-size:1.35rem;font-weight:900;display:grid}:root[data-design=bright] .b-step h3{font-size:1.22rem}:root[data-design=bright] .b-step p{color:var(--muted)}:root[data-design=bright] .b-reviews{gap:1.75rem 1.25rem;display:grid}@media (min-width:900px){:root[data-design=bright] .b-reviews{grid-template-columns:repeat(3,minmax(0,1fr))}}:root[data-design=bright] .b-review{align-content:start;gap:1.35rem;margin:0;display:grid}:root[data-design=bright] .b-review-bubble{background:var(--surface);box-shadow:var(--shadow);border-radius:26px 26px 26px 6px;gap:.85rem;padding:1.4rem 1.5rem;display:grid;position:relative}:root[data-design=bright] .b-review-bubble:after{content:"";background:inherit;clip-path:polygon(0 0,100% 0,6% 100%);width:24px;height:18px;position:absolute;bottom:-14px;left:0}:root[data-design=bright] .b-review:nth-child(3n+2) .b-review-bubble{background:var(--accent);color:var(--on-accent)}:root[data-design=bright] .b-review blockquote{font-family:var(--font-display);letter-spacing:-.01em;margin:0;font-size:1.12rem;font-weight:700;line-height:1.5}:root[data-design=bright] .b-review figcaption{padding-left:.25rem}:root[data-design=bright] .b-review-teacher{color:var(--good);font-weight:700;text-decoration:none}:root[data-design=bright] .b-review-teacher:hover{text-decoration:underline}:root[data-design=bright] .b-why{gap:1rem;display:grid}@media (min-width:720px){:root[data-design=bright] .b-why{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1000px){:root[data-design=bright] .b-why{grid-template-columns:repeat(4,minmax(0,1fr))}}:root[data-design=bright] .b-why-item{border:1px solid var(--stroke);background:var(--surface);border-radius:24px;align-content:start;gap:.55rem;padding:1.5rem;display:grid}:root[data-design=bright] .b-why-icon{background:var(--tint-soft);width:48px;height:48px;color:var(--tint-ink);border-radius:16px;place-items:center;margin-bottom:.4rem;display:grid}:root[data-design=bright] .b-why-item h3{font-size:1.12rem}:root[data-design=bright] .b-why-item p{color:var(--muted);font-size:.97rem}:root[data-design=bright] .b-cta{background:radial-gradient(60% 90% at 100% 100%, #0657f980, transparent 65%), var(--panel-alt);color:#fff;border-radius:clamp(28px,4vw,40px);padding:clamp(2rem,5vw,3.75rem);position:relative;overflow:hidden}:root[data-design=bright] .b-cta-copy{gap:1rem;max-width:40rem;display:grid;position:relative}:root[data-design=bright] .b-cta h2{color:#fff;letter-spacing:-.035em;font-size:clamp(2rem,4.4vw,3.1rem);font-weight:900}:root[data-design=bright] .b-cta p{color:#ffffffd6;max-width:34rem;font-size:1.08rem}:root[data-design=bright] .b-cta-ghost{color:#fff}:root[data-design=bright] .b-cta-ghost:hover{color:#fff;background:#ffffff1f}:root[data-design=bright] .b-cta-glyphs{display:none}@media (min-width:900px){:root[data-design=bright] .b-cta-glyphs{width:240px;height:200px;display:block;position:absolute;top:50%;right:clamp(2.5rem,6vw,5rem);transform:translateY(-50%)}:root[data-design=bright] .b-cta-glyphs .b-glyph{border-radius:28px 28px 28px 8px;width:92px;height:84px;font-size:2.6rem}:root[data-design=bright] .b-cta-glyphs .b-tint-1{top:0;left:0}:root[data-design=bright] .b-cta-glyphs .b-tint-2{top:18%;right:0}:root[data-design=bright] .b-cta-glyphs .b-tint-3{bottom:0;left:30%}}
.theme-toggle{flex-shrink:0}.theme-toggle .theme-to-light{display:none}:root[data-theme=dark] .theme-toggle .theme-to-light{display:block}:root[data-theme=dark] .theme-toggle .theme-to-dark{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-toggle .theme-to-light{display:block}:root:not([data-theme=light]) .theme-toggle .theme-to-dark{display:none}}@property --theme-hole{syntax:"<length>";inherits:false;initial-value:0}.theme-reveal-overlay{z-index:2147483646;pointer-events:none;background:var(--bg);color:var(--fg);will-change:clip-path;position:fixed;inset:0;overflow:hidden}.theme-reveal-overlay.theme-reveal-mask{-webkit-mask-image:radial-gradient(circle at var(--theme-x) var(--theme-y), transparent var(--theme-hole), #000 calc(var(--theme-hole) + 22px));mask-image:radial-gradient(circle at var(--theme-x) var(--theme-y), transparent var(--theme-hole), #000 calc(var(--theme-hole) + 22px));-webkit-mask-image:radial-gradient(circle at var(--theme-x) var(--theme-y), transparent var(--theme-hole), #000 calc(var(--theme-hole) + 22px))}@media (prefers-reduced-motion:reduce){.theme-reveal-overlay{display:none}}@media (max-width:479px){.site-header .nav-actions{gap:.125rem}.site-header .nav-actions .icon-btn{width:32px;height:36px}}@media (max-width:359px){.site-header .nav-actions .icon-btn{width:28px}}
.skeleton{animation:.3s .15s both skeleton-in}.bone{background:color-mix(in oklab, var(--fg) 11%, transparent);border-radius:8px;flex:none;max-width:100%;animation:1.6s ease-in-out infinite bone-pulse;display:block}.bone-text{border-radius:6px;height:.85em}.bone-round{border-radius:999px}.skeleton .card .bone,.skeleton .stat .bone{background:color-mix(in oklab, var(--fg) 9%, transparent)}.skeleton-lines{gap:.6rem;display:grid}@keyframes skeleton-in{0%{opacity:0}to{opacity:1}}@keyframes bone-pulse{0%,to{opacity:1}50%{opacity:.55}}.nav-progress{z-index:1000;pointer-events:none;height:3px;position:fixed;inset:0 0 auto}.nav-progress>span{background:var(--accent);height:100%;box-shadow:0 0 10px color-mix(in oklab, var(--accent) 60%, transparent);transform-origin:0;opacity:0;border-radius:0 3px 3px 0;display:block;transform:scaleX(0)}.nav-progress[data-state=busy]>span{opacity:1;transition:transform 12s cubic-bezier(.05,.75,.1,1),opacity .2s linear .12s;transform:scaleX(.92)}.nav-progress[data-state=done]>span{opacity:0;transition:transform .2s ease-out,opacity .25s .15s;transform:scaleX(1)}[data-pending]{cursor:progress;pointer-events:none}button[data-pending]:not(.btn){opacity:.7}.btn[data-pending]:after{content:"";border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;animation:.7s linear infinite pending-spin}@keyframes pending-spin{to{transform:rotate(360deg)}}
