:root{--shell-bg:#f3f7f1;--shell-bg-start:#fff;--shell-bg-strong:#e6f0e9;--shell-ink:#14231e;--shell-muted:#60766d;--shell-line:#cadbd3;--shell-card:#fbfdf9;--shell-accent:#0b8f76;--shell-accent-dark:#066655;--shell-warm:#d88a3d}:root[data-theme=dark]{--shell-bg:#101a17;--shell-bg-start:#17231f;--shell-bg-strong:#182622;--shell-ink:#edf5ee;--shell-muted:#9eb2aa;--shell-line:#2d433c;--shell-card:#15211e;--shell-accent:#68c9b8;--shell-accent-dark:#4da896;--shell-warm:#e5a15f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{min-height:100%;overflow-x:hidden}body{min-height:100vh;color:var(--shell-ink);background:radial-gradient(circle at 10% 10%, var(--shell-bg-start), var(--shell-bg)) fixed;margin:0;font-family:Avenir Next,SF Pro Text,Segoe UI,Helvetica,Arial,sans-serif;overflow-x:hidden}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell-page{min-height:100vh}.shell-nav{z-index:20;min-height:2.4rem;color:color-mix(in srgb, var(--shell-muted) 84%, transparent);letter-spacing:.04em;justify-content:space-between;align-items:center;gap:1rem;padding:0 clamp(1.25rem,2.5vw,1.75rem);font-size:.68rem;display:flex;position:fixed;top:clamp(1.15rem,2vw,1.4rem);left:0;right:0}.shell-brand{min-height:1.85rem;box-shadow:none;letter-spacing:.01em;color:color-mix(in srgb, var(--shell-ink) 88%, transparent);isolation:isolate;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:.42rem;padding:0;font-family:inherit;font-size:.78rem;font-weight:830;text-decoration:none;display:inline-flex;position:relative}.shell-brand .brand-mark{border:1px solid color-mix(in srgb, var(--shell-accent) 38%, var(--shell-line));background:radial-gradient(circle at 28% 24%, #ffffff5c, transparent 42%), linear-gradient(135deg, color-mix(in srgb, var(--shell-accent) 84%, #fff), color-mix(in srgb, var(--shell-warm) 48%, var(--shell-accent)));color:#f7fffb;width:1.42rem;height:1.42rem;box-shadow:0 .42rem 1rem color-mix(in srgb, var(--shell-accent) 17%, transparent);border-radius:.48rem;place-items:center;font-family:Hiragino Sans,Yu Gothic,Noto Sans JP,sans-serif;font-size:.86rem;font-weight:780;line-height:1;transition:box-shadow .15s,transform .15s;display:inline-grid;transform:rotate(-4deg)}.shell-brand .brand-word{position:relative}.shell-brand .brand-word:after{content:"";z-index:-1;background:linear-gradient(90deg, color-mix(in srgb, var(--shell-accent) 22%, transparent), color-mix(in srgb, var(--shell-accent) 8%, transparent));opacity:.78;transform-origin:0;border-radius:999px;height:.28rem;transition:opacity .15s,transform .15s;position:absolute;bottom:.03rem;left:.06rem;right:-.12rem;transform:scaleX(.58)}.shell-brand:hover{color:color-mix(in srgb, var(--shell-accent) 74%, var(--shell-ink))}.shell-brand:hover .brand-mark,.shell-brand:focus-visible .brand-mark{box-shadow:0 .5rem 1.1rem color-mix(in srgb, var(--shell-accent) 24%, transparent);transform:rotate(-1deg)translateY(-1px)}.shell-brand:hover .brand-word:after,.shell-brand:focus-visible .brand-word:after{opacity:1;transform:scaleX(1)}.shell-brand:focus-visible{outline:none}.shell-links{min-width:0;color:inherit;font-size:inherit;flex:1;justify-content:flex-end;align-items:center;gap:.58rem;display:flex}.shell-nav-right{align-items:center;gap:.52rem;min-width:0;display:flex}.shell-links a{padding:.22rem .24rem;text-decoration:none}.shell-links a:hover{color:color-mix(in srgb, var(--shell-accent) 74%, var(--shell-ink))}.shell-settings{flex:none;position:relative}.shell-settings-button{width:1.85rem;height:1.85rem;color:color-mix(in srgb, var(--shell-muted) 78%, transparent);cursor:pointer;font:inherit;transform-origin:50%;background:0 0;border:none;border-radius:999px;flex:none;place-items:center;font-size:.92rem;line-height:1;transition:color .14s,background-color .14s,box-shadow .14s,transform .14s;display:inline-grid}.shell-settings-button:hover,.shell-settings-button[aria-expanded=true]{background:color-mix(in srgb, var(--shell-accent) 12%, var(--shell-bg-strong));box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--shell-accent) 28%, var(--shell-line));color:color-mix(in srgb, var(--shell-accent) 86%, var(--shell-ink));transform:none}.shell-settings-button:active{background:color-mix(in srgb, var(--shell-accent) 18%, var(--shell-bg-strong));box-shadow:inset 0 1px 5px color-mix(in srgb, var(--shell-accent) 20%, transparent);transition-duration:60ms;transform:scale(.92)}.shell-settings-button:focus-visible{outline:2px solid color-mix(in srgb, var(--shell-accent) 32%, transparent);outline-offset:2px}.shell-settings-popover{border:1px solid color-mix(in srgb, var(--shell-line) 82%, transparent);background:color-mix(in srgb, var(--shell-card) 96%, transparent);width:min(14rem,100vw - 2rem);color:var(--shell-ink);letter-spacing:0;text-transform:none;border-radius:8px;padding:.85rem;font-size:.86rem;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 18px 42px #0f1e1a2e}.shell-settings-title{color:color-mix(in srgb, var(--shell-ink) 88%, transparent);margin:0;font-weight:750}.shell-theme-row{color:var(--shell-muted);justify-content:space-between;align-items:center;gap:.9rem;margin-top:.75rem;font-weight:700;display:flex}.shell-theme-row input{appearance:none;border:1px solid color-mix(in srgb, var(--shell-line) 86%, transparent);background:color-mix(in srgb, var(--shell-bg-strong) 82%, transparent);cursor:pointer;border-radius:999px;flex:none;width:2.5rem;height:1.38rem;margin:0;transition:background-color .14s,border-color .14s;position:relative}.shell-theme-row input:before{content:"";background:var(--shell-muted);border-radius:999px;width:.9rem;height:.9rem;transition:background-color .14s,transform .14s;position:absolute;top:.18rem;left:.18rem}.shell-theme-row input:checked{border-color:color-mix(in srgb, var(--shell-accent) 58%, var(--shell-line));background:color-mix(in srgb, var(--shell-accent) 24%, var(--shell-bg-strong))}.shell-theme-row input:checked:before{background:var(--shell-accent);transform:translate(1.1rem)}.shell-theme-row input:focus-visible{outline:2px solid color-mix(in srgb, var(--shell-accent) 34%, transparent);outline-offset:2px}.shell-main{--shell-main-top:clamp(5.5rem, 9vh, 7rem);--shell-main-bottom:4rem;width:min(1120px,100% - clamp(2.5rem,5vw,3.5rem));padding:var(--shell-main-top) 0 var(--shell-main-bottom);margin:0 auto;position:relative}.shell-hero{max-width:760px}.shell-kicker{color:var(--shell-accent);letter-spacing:0;text-transform:uppercase;margin:0 0 1rem;font-size:.78rem;font-weight:700}.shell-title{letter-spacing:0;max-width:720px;margin:0;font-size:clamp(2.75rem,7vw,4rem);font-weight:680;line-height:1.02}.shell-copy{max-width:620px;color:var(--shell-muted);margin:1.1rem 0 0;font-size:1rem;line-height:1.65}.shell-actions{flex-wrap:wrap;gap:.65rem;margin-top:1.6rem;display:flex}.shell-button{border:1px solid var(--shell-line);background:color-mix(in srgb, var(--shell-card) 78%, transparent);transform-origin:50%;border-radius:8px;justify-content:center;align-items:center;min-height:2.55rem;padding:.64rem .92rem;font-size:.86rem;font-weight:700;text-decoration:none;transition:border-color .12s,background-color .12s,box-shadow .12s,color .12s,transform .12s;display:inline-flex}.shell-button.primary{color:#f8fffb;background:linear-gradient(135deg, var(--shell-accent), var(--shell-accent-dark));border-color:#0000}:root[data-theme=dark] .shell-button.primary{color:#f3fffb;border-color:color-mix(in srgb, var(--shell-accent) 36%, var(--shell-line));background:linear-gradient(135deg,#246d61,#1f5c53)}.shell-button:hover{transform:translateY(-1px)}.shell-button:active{box-shadow:inset 0 1px 5px color-mix(in srgb, var(--shell-accent) 20%, transparent);transition-duration:60ms;transform:translateY(1px)scale(.985)}.shell-button.primary:active{filter:saturate(1.06)}.shell-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:clamp(1.8rem,5vw,3.5rem);display:grid}.shell-card{border:1px solid color-mix(in srgb, var(--shell-line) 78%, transparent);background:color-mix(in srgb, var(--shell-card) 72%, transparent);border-radius:8px;min-height:11rem;padding:1rem}.shell-card h2,.shell-card h3{margin:0;font-size:1rem}.shell-card p{color:var(--shell-muted);margin:.7rem 0 0;line-height:1.6}.shell-panel{border:1px solid color-mix(in srgb, var(--shell-line) 78%, transparent);background:color-mix(in srgb, var(--shell-card) 72%, transparent);border-radius:8px;max-width:740px;padding:clamp(1.1rem,4vw,1.65rem)}.shell-panel h1{letter-spacing:0;margin:0;font-size:clamp(1.85rem,4vw,2.35rem);font-weight:660;line-height:1.12}.shell-panel p{color:var(--shell-muted);line-height:1.7}.kana-app-root{display:contents}.shell-form{gap:.9rem;margin-top:1.4rem;display:grid}.shell-form label{color:var(--shell-muted);gap:.35rem;font-size:.86rem;font-weight:700;display:grid}.shell-form input{border:1px solid var(--shell-line);background:var(--shell-card);min-height:2.85rem;color:var(--shell-ink);font:inherit;border-radius:8px;padding:.72rem .82rem}.shell-form input:focus{outline:2px solid color-mix(in srgb, var(--shell-accent) 28%, transparent);outline-offset:2px}.shell-form button{justify-self:start}.shell-error,.shell-success,.shell-notice{border:1px solid var(--shell-line);border-radius:8px;margin:0;padding:.75rem .85rem;line-height:1.5}.shell-error{border-color:color-mix(in srgb, #b93b2d 42%, var(--shell-line));color:#9f2d22;background:#fdf1ef}.shell-success,.shell-notice{color:var(--shell-muted);background:color-mix(in srgb, var(--shell-card) 86%, transparent)}.shell-notice{justify-content:space-between;align-items:center;gap:1rem;display:flex}.shell-notice button{color:var(--shell-muted);font:inherit;cursor:pointer;background:0 0;border:none;font-weight:700}.shell-actions button.shell-button{cursor:pointer;font:inherit}.shell-brand:active{box-shadow:none;background:0 0;transform:none}.shell-brand:active .brand-mark{box-shadow:0 .22rem .55rem color-mix(in srgb, var(--shell-accent) 15%, transparent);transition-duration:60ms;transform:rotate(-2deg)translateY(1px)scale(.95)}.shell-brand:active .brand-word:after{opacity:.9;transition-duration:60ms;transform:scaleX(.86)}.shell-notice button:active{color:color-mix(in srgb, var(--shell-accent) 82%, var(--shell-ink));transform:translateY(1px)scale(.96)}@media (prefers-reduced-motion:reduce){.shell-brand .brand-mark,.shell-brand .brand-word:after,.shell-settings-button,.shell-button,.shell-notice button{transition-duration:1ms}}@media (max-width:760px){.shell-nav{gap:.5rem;padding:0 .85rem;top:.8rem}.shell-nav-right{gap:.28rem;min-width:0}.shell-links{scrollbar-width:none;gap:.28rem;overflow-x:auto}.shell-links::-webkit-scrollbar{display:none}.shell-grid{grid-template-columns:1fr}.shell-main{--shell-main-top:5.2rem;width:min(1120px,100% - 1.7rem)}.shell-title{font-size:2.65rem}.shell-panel h1{font-size:2rem}.shell-notice{flex-direction:column;align-items:flex-start}}
