:root{--surface-paper:#f4ecdf;--surface-raised:#fffaf2;--surface-panel:#ebe0d0;--surface-ink:#191714;--ink-primary:#191714;--ink-secondary:#61584c;--ink-muted:#8b8174;--border-hairline:#d7cdbf;--primary:#255d8b;--primary-foreground:#f8fbff;--secondary:#c96b3d;--secondary-foreground:#fff7f2;--token-highlight:#f0d8a7;--token-hover:#e8eef4;--success:#5e7763;--warning:#a56826;--error:#a53e2b;--shadow-soft:0 18px 48px #1b161014}*{box-sizing:border-box}html,body{scroll-behavior:smooth;min-height:100%;margin:0;padding:0}body{background:var(--surface-paper);color:var(--ink-primary);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:IBM Plex Sans,Noto Sans JP,sans-serif;line-height:1.5;position:relative;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}h1,h2,h3{letter-spacing:-.02em;color:var(--ink-primary);font-family:Cormorant Garamond,Noto Serif JP,serif}textarea,input{color:inherit}.page-shell{z-index:1;width:min(1120px,100% - 2rem);margin:0 auto;position:relative}.sakura-field{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.sakura-petal{opacity:.55;background:linear-gradient(135deg,#f0afbec7,#ffe4eaeb);border-radius:70% 30% 65% 35%;width:18px;height:12px;animation:linear infinite sakura-drift;position:absolute;top:-10%;box-shadow:0 8px 20px #a2626f1f}.sakura-petal:after{content:"";background:#fff5f7cc;border-radius:70% 30% 65% 35%;position:absolute;inset:2px 4px 5px 3px}.sakura-petal--one{animation-duration:16s;animation-delay:-2s;left:9%}.sakura-petal--two{width:14px;height:10px;animation-duration:20s;animation-delay:-9s;left:24%}.sakura-petal--three{width:16px;animation-duration:18s;animation-delay:-5s;left:41%}.sakura-petal--four{width:20px;height:13px;animation-duration:22s;animation-delay:-12s;left:62%}.sakura-petal--five{width:15px;height:10px;animation-duration:19s;animation-delay:-7s;left:79%}.sakura-petal--six{width:17px;animation-duration:24s;animation-delay:-15s;left:91%}@keyframes sakura-drift{0%{opacity:0;transform:translateY(-12vh)rotate(0)}8%{opacity:.48}50%{transform:translate(-26px,42vh)rotate(180deg)}to{opacity:0;transform:translate(34px,118vh)rotate(360deg)}}.site-header{z-index:1;justify-content:space-between;align-items:center;width:min(1120px,100% - 2rem);margin:0 auto;padding:1.25rem 0 0;display:flex;position:relative}.site-header__brand{color:var(--ink-primary);font-family:Cormorant Garamond,Noto Serif JP,serif;font-size:2rem}.site-header__brand-block{gap:.15rem;display:grid}.site-header__tag{color:var(--ink-muted);margin:0;font-size:.95rem}.site-header__nav{color:var(--ink-secondary);align-items:center;gap:1rem;display:flex}.button-link{border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.2rem;transition:transform .14s,background .14s,color .14s,border-color .14s;display:inline-flex}.button-link:hover{transform:translateY(-1px)}.button-link--primary{background:var(--primary);color:var(--primary-foreground)}.button-link--secondary{background:var(--surface-raised);color:var(--ink-primary);border:1px solid var(--border-hairline)}.button-link--ghost{color:var(--ink-primary)}.hero{padding:5rem 0 4rem}.hero__eyebrow,.section-card__eyebrow,.reader-shell__eyebrow,.dashboard-card__meta,.app-shell__eyebrow{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .65rem;font-size:.8rem}.hero__title{text-wrap:balance;max-width:12ch;margin:0;font-size:clamp(3.2rem,8vw,6rem);line-height:.95}.hero__copy{max-width:42rem;color:var(--ink-secondary);margin:1.25rem 0 0;font-size:1.125rem}.hero__actions{flex-wrap:wrap;gap:.9rem;margin-top:2rem;display:flex}.hero__grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:end;gap:2rem;display:grid}.section-card{box-shadow:var(--shadow-soft);background:#fffaf2f0;border:1px solid #d7cdbff5;border-radius:24px;padding:1.5rem}.section-card__title{color:var(--ink-primary);margin:0;font-size:1.8rem}.section-card__body,.section-card__body p,.section-card__body li{color:var(--ink-secondary)}.marketing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;padding-bottom:4rem;display:grid}.marketing-band{padding:1rem 0 4rem}.marketing-band__intro,.marketing-page__hero{max-width:48rem;margin-bottom:2rem}.marketing-band__title,.marketing-page__title,.marketing-callout__title{margin:0;font-size:clamp(2.2rem,5vw,3.6rem);line-height:1.02}.marketing-band__grid,.walkthrough-grid,.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.walkthrough-grid{margin-bottom:2rem}.marketing-callout{box-shadow:var(--shadow-soft);background:#fffaf2f2;border:1px solid #d7cdbff5;border-radius:24px;justify-content:space-between;align-items:end;gap:1.5rem;margin-bottom:4rem;padding:1.5rem;display:flex}.marketing-page{padding:4rem 0}.walkthrough-grid+.marketing-callout,.pricing-grid+.marketing-callout{margin-top:2rem}.marketing-page__copy,.marketing-footer__copy{max-width:42rem}.marketing-footer{z-index:1;border-top:1px solid var(--border-hairline);padding:1rem 0 2.5rem;position:relative}.marketing-footer__inner{justify-content:space-between;align-items:start;gap:1.5rem;display:flex}.marketing-footer__nav{color:var(--ink-secondary);gap:.5rem;display:grid}.marketing-list{margin:0;padding-left:1.1rem}.app-shell{grid-template-columns:16rem minmax(0,1fr);min-height:100vh;display:grid}.app-shell__sidebar{border-right:1px solid var(--border-hairline);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ebe0d0e0;align-self:start;min-height:100vh;padding:1.5rem;position:sticky;top:0}.app-shell__brand{margin-bottom:1.25rem;font-family:Cormorant Garamond,Noto Serif JP,serif;font-size:2rem;display:block}.app-shell__nav{gap:.45rem;display:grid}.app-shell__nav a{color:var(--ink-secondary);border-radius:12px;padding:.7rem .8rem}.app-shell__nav a:hover{color:var(--ink-primary);background:#ffffff80}.app-shell__content{padding:2rem}.dashboard-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.dashboard-card{box-shadow:var(--shadow-soft);background:#fffaf2f0;border:1px solid #d7cdbff5;border-radius:20px;padding:1.25rem;display:block}.dashboard-card__title{margin:0;font-size:1.75rem}.dashboard-card__description{color:var(--ink-secondary)}.dashboard-card__cta{color:var(--primary);font-weight:600}.dashboard-gate{max-width:42rem;box-shadow:var(--shadow-soft);background:#fffaf2f2;border:1px solid #d7cdbff5;border-radius:24px;gap:.9rem;margin-top:1.5rem;padding:1.5rem;display:grid}.dashboard-gate__eyebrow{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.8rem}.dashboard-gate__title{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.02}.dashboard-gate__body{color:var(--ink-secondary);margin:0}.dashboard-gate__actions{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.auth-shell{background:var(--surface-paper);place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-shell__card{width:min(100%,30rem);box-shadow:var(--shadow-soft);background:#fffaf2f7;border:1px solid #d7cdbffa;border-radius:24px;padding:2rem}.auth-shell__title{margin-bottom:.25rem}.auth-shell__subtitle{color:var(--ink-secondary);margin-top:0}.auth-form{gap:1rem;margin-top:1.5rem;display:grid}.auth-provider-button{border:1px solid var(--border-hairline);color:var(--ink-primary);background:#fffaf2f2;border-radius:999px;justify-content:center;align-items:center;padding:.9rem 1.25rem;transition:transform .14s,border-color .14s,background .14s;display:inline-flex}.auth-provider-button:hover{border-color:var(--primary);background:#fffaf2;transform:translateY(-1px)}.auth-divider{color:var(--ink-muted);grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;font-size:.9rem;display:grid}.auth-divider:before,.auth-divider:after{content:"";background:var(--border-hairline);height:1px}.auth-field{gap:.4rem;display:grid}.auth-field__label,.auth-form__prompt{color:var(--ink-secondary)}.auth-input{border:1px solid var(--border-hairline);background:#fffaf2f0;border-radius:14px;width:100%;padding:.85rem 1rem}.auth-input:focus{border-color:var(--primary);outline:2px solid #255d8b2e}.auth-field__error,.auth-form__error{color:var(--error)}.auth-form__success{color:var(--success);margin:0}.auth-form__error{margin:0}.auth-submit{background:var(--primary);color:var(--primary-foreground);cursor:pointer;border:0;border-radius:999px;padding:.9rem 1.25rem;transition:transform .14s,opacity .14s}.auth-submit:hover:enabled{transform:translateY(-1px)}.auth-submit:disabled{cursor:wait;opacity:.75}.danger-button{background:var(--error);color:#fff7f2;cursor:pointer;border:0;border-radius:999px;padding:.9rem 1.25rem;transition:transform .14s,opacity .14s}.danger-button:hover:enabled{transform:translateY(-1px)}.danger-button:disabled{cursor:wait;opacity:.75}.auth-form__footer{flex-wrap:wrap;justify-content:space-between;gap:1rem;display:flex}.auth-form__footer a{color:var(--primary)}.auth-status-card{border:1px solid var(--border-hairline);background:#fffaf2f0;border-radius:18px;gap:.6rem;margin-top:1.5rem;padding:1rem 1.1rem;display:grid}.auth-status-card__title{margin:0;font-weight:600}.auth-status-card__body{color:var(--ink-secondary);margin:0}.auth-status-card a{color:var(--primary)}.reader-shell{grid-template-columns:minmax(0,1.5fr) minmax(280px,.7fr);gap:1rem;margin-top:1.5rem;display:grid}.reader-shell__workspace,.reader-shell__panel{box-shadow:var(--shadow-soft);background:#fffaf2f0;border:1px solid #d7cdbff5;border-radius:24px;padding:1.25rem}.reader-shell__title{margin:0;font-size:1.6rem}.reader-shell__copy,.page-copy{color:var(--ink-secondary)}.reader-input{resize:vertical;border:1px solid var(--border-hairline);background:#fffaf2f0;border-radius:16px;width:100%;min-height:18rem;margin-top:1rem;padding:1rem}.reader-form{gap:1rem;display:grid}.reader-session{gap:1rem;margin-top:1.5rem;display:grid}.reader-save-panel,.library-empty-state,.library-card{box-shadow:var(--shadow-soft);background:#fffaf2f0;border:1px solid #d7cdbff5;border-radius:24px}.reader-save-panel{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:1rem;margin-top:1.5rem;padding:1.25rem;display:grid}.reader-save-panel h2,.library-empty-state h2,.library-card h2{margin:0;font-size:1.6rem}.reader-save-panel__form{gap:.8rem;display:grid}.reader-save-panel__label{color:var(--ink-secondary)}.reader-save-panel__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.reader-session__label{color:var(--ink-muted);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .75rem;font-size:.8rem}.reader-session__meta{color:var(--ink-secondary);font-size:.95rem}.reader-prose{white-space:pre-wrap;color:var(--ink-primary);margin:0;font-size:1.14rem;line-height:2.05}.reader-inline-token{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:.45rem;margin:0;padding:.08rem .08rem .03rem;transition:background-color .14s,color .14s,box-shadow .14s;display:inline}.reader-inline-token:hover,.reader-inline-token:focus-visible{background:var(--token-hover);outline:none}.reader-inline-token--selected{background:var(--token-highlight);box-shadow:inset 0 -1px #19171414}.reader-token-detail{gap:.75rem;display:grid}.reader-token-detail__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:0;display:grid}.reader-token-detail__grid div{gap:.2rem;display:grid}.reader-token-detail__grid dt{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.reader-token-detail__grid dd{color:var(--ink-primary);margin:0}.reader-token-detail__actions{flex-wrap:wrap;gap:.75rem;display:flex}.reader-token-detail__note,.reader-token-detail__empty{color:var(--ink-secondary);margin:0}.flashcard-source-link{width:fit-content;color:var(--primary);align-items:center;display:inline-flex}.library-page,.library-groups{gap:1.25rem;display:grid}.library-folder-strip{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.library-folder-card{background:#ebe0d0e0;border:1px solid #d7cdbff5;border-radius:22px;gap:.65rem;padding:1.1rem;display:grid}.library-folder-card--empty{background:#fffaf2f0}.library-folder-card-link,.library-card-link{transition:transform .14s;display:block}.library-folder-card-link:hover,.library-folder-card-link:focus-visible,.library-card-link:hover,.library-card-link:focus-visible{outline:none;transform:translateY(-1px)}.library-empty-state{gap:.85rem;padding:1.5rem;display:grid}.library-list{gap:1rem;display:grid}.library-section-heading{gap:.35rem;display:grid}.library-section-heading h2{margin:0;font-size:1.6rem}.saved-text-page{gap:1rem;display:grid}.saved-text-page__meta{color:var(--ink-secondary);flex-wrap:wrap;gap:1rem;display:flex}.saved-text-page__actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.library-card{gap:.85rem;padding:1.25rem;display:grid}.library-card__meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:0;display:grid}.library-card__meta div{gap:.2rem;display:grid}.library-card__meta dt{color:var(--ink-muted);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem}.library-card__meta dd{color:var(--ink-primary);margin:0}.review-session{gap:1rem;display:grid}.review-session__meta{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.review-session__progress{color:var(--ink-secondary);margin:0}.review-session__card{max-width:48rem}.review-session__definition{color:var(--ink-primary);font-size:1.1rem}.review-session__actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:.85rem;margin:1.5rem 0 .75rem;display:grid}.review-action{border:1px solid var(--border-hairline);color:var(--ink-primary);background:#fffaf2f5;border-radius:18px;justify-items:start;gap:.15rem;padding:.95rem 1rem;transition:transform .14s,border-color .14s,background .14s;display:grid}.review-action:hover:enabled,.review-action:focus-visible{outline:none;transform:translateY(-1px)}.review-action:disabled{cursor:wait;opacity:.7}.review-action small{color:var(--ink-muted)}.review-action--again:hover:enabled,.review-action--again:focus-visible{border-color:color-mix(in srgb, var(--error) 40%, var(--border-hairline));background:color-mix(in srgb, var(--error) 10%, white)}.review-action--hard:hover:enabled,.review-action--hard:focus-visible{border-color:color-mix(in srgb, var(--warning) 50%, var(--border-hairline));background:color-mix(in srgb, var(--warning) 12%, white)}.review-action--good:hover:enabled,.review-action--good:focus-visible{border-color:color-mix(in srgb, var(--primary) 45%, var(--border-hairline));background:color-mix(in srgb, var(--primary) 12%, white)}.review-action--easy:hover:enabled,.review-action--easy:focus-visible{border-color:color-mix(in srgb, var(--success) 45%, var(--border-hairline));background:color-mix(in srgb, var(--success) 12%, white)}@media (max-width:900px){.hero__grid,.reader-save-panel,.reader-shell,.reader-session,.dashboard-grid,.marketing-grid,.marketing-band__grid,.walkthrough-grid,.pricing-grid,.app-shell{grid-template-columns:1fr}.app-shell__sidebar{border-right:0;border-bottom:1px solid var(--border-hairline);min-height:auto;position:static}.site-header{flex-direction:column;align-items:flex-start;gap:1rem}.site-header__nav{flex-wrap:wrap}.marketing-callout,.marketing-footer__inner{flex-direction:column;align-items:flex-start}.reader-token-detail__grid,.library-card__meta{grid-template-columns:1fr}.review-session__meta{flex-direction:column;align-items:start}.review-session__actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.sakura-field{display:none}.review-session__actions{grid-template-columns:minmax(0,1fr)}}
