:root{color-scheme:light;font-family:Noto Sans JP,Hiragino Sans,Yu Gothic,sans-serif;line-height:1.5;font-weight:400;color:#10203a;background:radial-gradient(circle at top left,rgba(59,130,246,.14),transparent 30%),radial-gradient(circle at bottom right,rgba(20,184,166,.12),transparent 24%),linear-gradient(180deg,#f7f9fc,#eef4fb);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--surface: rgba(255, 255, 255, .78);--surface-strong: #ffffff;--line: rgba(15, 23, 42, .08);--shadow: 0 18px 60px rgba(15, 23, 42, .08);--blue: #2563eb;--blue-deep: #1d4ed8;--teal: #14b8a6;--danger: #ef4444;--success: #16a34a;--text-muted: #5f6b80}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0}a{color:var(--blue);text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}.auth-page{min-height:100vh;display:grid;place-items:center;padding:32px 20px}.landing-page{min-height:100vh;padding:22px 20px 72px}.landing-shell{width:min(1200px,100%);margin:0 auto}.landing-header,.landing-nav,.landing-actions,.landing-preview-topbar,.landing-review-item,.landing-preview-section-title,.landing-saved-item,.landing-feature-tags,.landing-pricing-grid,.landing-bottom-cta,.landing-bottom-actions{display:flex}.landing-header,.landing-nav,.landing-actions,.landing-feature-grid,.landing-benefits,.landing-pricing-grid{gap:16px}.landing-header{justify-content:space-between;align-items:center;min-height:72px;margin-bottom:34px}.landing-brand{display:inline-flex;align-items:center;gap:12px;color:#0f172a;font-weight:800;font-size:20px}.landing-brand.compact{font-size:15px;font-weight:700}.landing-brand-mark{width:28px;height:28px;display:grid;gap:3px}.landing-brand-mark span{display:block;height:6px;border-radius:999px;background:linear-gradient(135deg,#4f7cff,#2557eb)}.landing-brand-mark span:nth-child(2){width:80%;margin-left:10%}.landing-brand-mark span:nth-child(3){width:60%;margin-left:20%}.landing-nav{align-items:center;flex-wrap:wrap}.landing-nav a{color:#334155;font-weight:600}.landing-header-cta{min-height:48px;padding:0 22px;color:#fff;background:linear-gradient(135deg,#2f5bff,#1f49d8);box-shadow:0 18px 34px #2563eb47}.landing-nav a.landing-header-cta{color:#fff}.landing-header-cta:hover{color:#fff;box-shadow:0 22px 40px #2563eb57}.landing-hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);gap:26px;align-items:center;margin-bottom:28px}.landing-copy{position:relative;padding:24px 6px 24px 0}.landing-badge,.landing-copy h1 span,.landing-preview-topbar span,.landing-review-item span,.landing-price-name{color:var(--blue)}.landing-badge{display:inline-flex;align-items:center;min-height:36px;padding:0 14px;border-radius:999px;background:#ffffffd1;border:1px solid rgba(37,99,235,.14);box-shadow:0 14px 30px #0f172a0d;font-size:14px;font-weight:700}.landing-copy h1{margin:18px 0 0;font-size:clamp(38px,5.8vw,60px);line-height:1.08;letter-spacing:-.06em}.landing-hero-line{display:block}.landing-hero-line-top{white-space:nowrap}.landing-lead{margin:22px 0 0;max-width:580px;font-size:16px;line-height:1.75;color:var(--text-muted)}.landing-actions{flex-wrap:wrap;margin-top:28px}.landing-large-cta{min-width:180px;min-height:56px;font-size:17px}.outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:14px;border:1px solid rgba(37,99,235,.16);background:#ffffffc7;color:var(--blue);font-weight:700;box-shadow:0 12px 28px #0f172a0d;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.outline-button.light{background:#ffffff1f;border-color:#ffffff59;color:#fff}.outline-button:hover{transform:translateY(-1px)}.landing-note{margin:18px 0 0;color:var(--text-muted);font-size:13px}.landing-app-preview{position:relative;padding:26px 0 36px}.landing-floating-orb{position:absolute;border-radius:999px;background:radial-gradient(circle,#6f99ff52,#6f99ff14);filter:blur(.4px)}.landing-floating-orb-top{width:40px;height:40px;top:6px;left:-18px}.landing-floating-orb-bottom{width:220px;height:220px;right:18px;bottom:-20px;background:radial-gradient(circle,#6f99ff29,#6f99ff00)}.landing-preview-card{position:relative;z-index:1;display:grid;grid-template-columns:150px minmax(0,1fr);overflow:hidden;border-radius:28px;background:#ffffffd6;border:1px solid rgba(255,255,255,.85);box-shadow:0 28px 80px #22417a24;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.landing-preview-sidebar,.landing-preview-main,.landing-feature-card,.landing-price-card{display:grid;gap:18px}.landing-preview-sidebar{padding:24px 18px;border-right:1px solid rgba(148,163,184,.14)}.landing-preview-nav{display:grid;gap:8px}.landing-preview-nav div{min-height:42px;display:flex;align-items:center;padding:0 12px;border-radius:12px;color:#52637f;font-size:14px;font-weight:600}.landing-preview-nav .active{background:#2563eb1a;color:var(--blue)}.landing-preview-main{padding:24px}.landing-preview-topbar,.landing-review-item,.landing-preview-section-title,.landing-saved-item{justify-content:space-between;align-items:center}.landing-preview-topbar strong,.landing-review-item strong,.landing-preview-section-title strong,.landing-saved-item strong,.landing-pro-chip strong,.landing-price-card strong,.landing-feature-preview strong{color:#0f172a}.landing-preview-topbar div{display:flex;align-items:center;gap:10px}.landing-preview-topbar span,.landing-preview-section-title span,.landing-saved-item span{font-size:13px;font-weight:700}.landing-preview-avatar,.landing-saved-thumb{border-radius:999px;background:linear-gradient(135deg,#0f172a29,#0f172a05)}.landing-preview-avatar{width:34px;height:34px}.landing-review-list{display:grid;gap:12px}.landing-review-item,.landing-saved-item,.landing-feature-preview,.landing-price-card,.landing-benefit-card{background:#ffffffd6;border:1px solid rgba(148,163,184,.16)}.landing-review-item,.landing-saved-item{padding:16px 18px;border-radius:18px;box-shadow:0 8px 24px #0f172a0a}.landing-review-item p,.landing-saved-item p,.landing-pro-chip p,.landing-feature-card p,.landing-benefit-card p,.landing-price-card p{margin:0;color:var(--text-muted)}.landing-review-item span{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border-radius:999px;background:#2563eb14;font-size:12px;font-weight:700}.landing-mini-button{min-height:40px;padding:0 14px;border-radius:12px;border:1px solid rgba(37,99,235,.1);background:#fff;color:var(--blue);font-weight:700}.landing-preview-saved{display:grid;gap:12px}.landing-saved-item{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:14px}.landing-saved-thumb{width:42px;height:42px;border-radius:14px}.landing-pro-chip{position:absolute;right:34px;bottom:0;z-index:2;display:flex;gap:14px;align-items:center;padding:18px 20px;border-radius:22px;background:#ffffffe0;border:1px solid rgba(255,255,255,.9);box-shadow:0 18px 40px #2563eb1f}.landing-pro-chip-icon,.landing-feature-icon,.landing-benefit-icon,.landing-rocket{display:grid;place-items:center}.landing-pro-chip-icon,.landing-feature-icon{width:48px;height:48px;border-radius:16px;background:linear-gradient(135deg,#2563eb29,#5a73ff33);color:var(--blue);font-weight:800}.landing-feature-panel,.landing-bottom-cta{border-radius:32px}.landing-feature-panel{padding:24px}.landing-feature-grid,.landing-benefits{display:grid}.landing-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-feature-card{padding:18px 20px 20px}.landing-feature-card h2,.landing-section-heading h2,.landing-bottom-copy h2{margin:0;letter-spacing:-.04em;line-height:1.15}.landing-feature-card h2{font-size:34px}.landing-feature-preview{gap:12px;padding:16px;border-radius:18px}.landing-feature-tags{flex-wrap:wrap}.landing-feature-tags span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:#2563eb14;color:var(--blue);font-size:12px;font-weight:700}.landing-benefits{grid-template-columns:repeat(4,minmax(0,1fr));margin:28px 0}.landing-benefit-card{padding:8px 20px 0;border:none;background:transparent;box-shadow:none;text-align:center}.landing-benefit-icon{width:62px;height:62px;margin:0 auto;border-radius:20px;background:#2563eb14;color:var(--blue);font-size:30px;font-weight:700}.landing-benefit-card h3{margin:14px 0 0;font-size:18px}.landing-pricing{margin-bottom:28px}.landing-section-heading{margin-bottom:16px}.landing-section-label{margin:0 0 8px;color:var(--blue);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.landing-section-heading h2{font-size:clamp(30px,4vw,46px)}.landing-pricing-grid{align-items:stretch}.landing-price-card{flex:1;min-width:0;padding:24px;border-radius:24px;box-shadow:0 18px 40px #0f172a0d}.landing-price-card.featured{background:linear-gradient(180deg,#2563eb14,#ffffffe6);border-color:#2563eb33}.landing-price-card strong{font-size:40px;letter-spacing:-.05em}.landing-price-card span{color:var(--text-muted)}.landing-price-card ul{display:grid;gap:10px;margin:0;padding-left:18px;color:#334155}.landing-bottom-cta{align-items:center;gap:24px;padding:28px 30px;background:radial-gradient(circle at left center,rgba(255,255,255,.22),transparent 30%),linear-gradient(135deg,#3256f5,#5a6fff 55%,#6d8bff);color:#fff;box-shadow:0 26px 70px #3256f542}.landing-bottom-visual{width:180px;display:grid;place-items:center}.landing-rocket{width:120px;height:120px;border-radius:999px;background:radial-gradient(circle at 35% 30%,#fff,#d7e1ff 52%,#ffffff3d);color:#3b5cff;font-size:44px;font-weight:900;transform:rotate(45deg)}.landing-bottom-copy{flex:1}.landing-bottom-copy h2{font-size:clamp(34px,5vw,58px)}.landing-bottom-copy p{margin:14px 0 0;color:#ffffffdb}.landing-bottom-actions{flex-direction:column;width:240px}.landing-bottom-button{width:100%;min-height:56px;border-radius:18px;font-size:20px;font-weight:800}.landing-bottom-actions .secondary-button.landing-bottom-button{color:#2350ea;background:linear-gradient(180deg,#fffffffa,#f1f5fff0);border-color:#ffffffe6;box-shadow:0 20px 36px #15276e33}.landing-bottom-actions .outline-button.landing-bottom-button.light{color:#fff;background:linear-gradient(180deg,#244cd79e,#3960e885);border:1px solid rgba(255,255,255,.48);box-shadow:inset 0 1px #ffffff2e}.landing-bottom-actions .secondary-button.landing-bottom-button:hover,.landing-bottom-actions .outline-button.landing-bottom-button.light:hover{transform:translateY(-1px)}.landing-bottom-actions .secondary-button.landing-bottom-button:link,.landing-bottom-actions .secondary-button.landing-bottom-button:visited{color:#2350ea}.landing-bottom-actions .outline-button.landing-bottom-button.light:link,.landing-bottom-actions .outline-button.landing-bottom-button.light:visited{color:#fff}.landing-bottom-actions .outline-button.landing-bottom-button.light:hover{border-color:#ffffffb8}.landing-header-cta:visited{color:#fff}.auth-card,.panel,.stat-card,.quick-action-card,.review-card,.article-card,.settings-panel,.done-panel{background:var(--surface);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow)}.auth-card{width:min(100%,480px);padding:40px 36px;border-radius:28px;display:grid;gap:18px}.auth-logo,.done-mark{width:78px;height:78px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;font-size:32px;box-shadow:0 18px 40px #2563eb3d}.done-mark{margin:0 auto;background:linear-gradient(135deg,#22c55e29,#10b98138);color:#15803d;box-shadow:none}.auth-card h1,.page-header h2,.done-panel h2{margin:0;font-size:clamp(28px,4vw,38px);letter-spacing:-.03em}.auth-card>p,.page-header p,.helper-text,.empty-state p,.quick-action-card p,.article-card p,.review-card p,.done-panel p{margin:0;color:var(--text-muted)}.auth-form,.form-panel{display:grid;gap:18px}.plan-toggle{display:flex;flex-wrap:wrap;gap:12px}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pricing-card,.billing-status-card{display:grid;gap:10px;padding:20px;border-radius:22px;background:#ffffffc7;border:1px solid rgba(148,163,184,.18)}.pricing-card h4,.billing-status-card strong{margin:0}.pricing-card strong{font-size:28px;letter-spacing:-.03em}.pricing-card p,.billing-status-card span{color:var(--text-muted)}.pricing-card-pro{background:linear-gradient(180deg,#2563eb14,#ffffffe6);border-color:#2563eb2e}.auth-mode-toggle{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.auth-mode-toggle .secondary-button,.auth-mode-toggle .ghost-button{min-height:46px}label{display:grid;gap:8px;font-weight:600}input,textarea{width:100%;border-radius:14px;border:1px solid rgba(148,163,184,.28);background:#ffffffeb;padding:14px 16px;color:inherit;transition:border-color .16s ease,box-shadow .16s ease}input:focus,textarea:focus{outline:none;border-color:#2563eb70;box-shadow:0 0 0 4px #2563eb1a}.primary-button,.secondary-button,.ghost-button,.outline-button,.danger-outline-button,.success-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 18px;border-radius:14px;font-weight:700;border:1px solid transparent;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.primary-button{color:#fff;background:linear-gradient(135deg,var(--blue),var(--blue-deep));box-shadow:0 16px 30px #2563eb3d}.secondary-button,.ghost-button{color:var(--blue);background:#2563eb14}.review-neutral-button{border:1px solid rgba(37,99,235,.18)}.danger-outline-button,.success-outline-button{background:#ffffffe6}.danger-outline-button{color:var(--danger);border-color:#ef444466}.success-outline-button{color:var(--success);border-color:#16a34a66}.primary-button:hover,.secondary-button:hover,.ghost-button:hover,.outline-button:hover,.danger-outline-button:hover,.success-outline-button:hover,.quick-action-card:hover,.nav-link:hover,.icon-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.outline-button:disabled,.danger-outline-button:disabled,.success-outline-button:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.secondary-button:disabled,.ghost-button:disabled{color:#94a3b8;background:#94a3b824;border-color:#94a3b83d}.helper-text,.success-text,.error-text{font-size:14px}.success-text{color:#047857}.error-text{color:#b91c1c}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px minmax(0,1fr)}.sidebar{padding:26px 18px;border-right:1px solid rgba(148,163,184,.14);background:#ffffff9e;-webkit-backdrop-filter:blur(22px);backdrop-filter:blur(22px);display:flex;flex-direction:column;gap:28px}.brand{display:flex;align-items:center;gap:14px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;border-radius:16px;background:linear-gradient(135deg,#3b82f6,#1e40af);color:#fff;font-size:20px}.brand-eyebrow,.brand h1{margin:0}.brand-eyebrow{font-size:12px;color:var(--text-muted)}.brand h1{font-size:20px}.sidebar-nav{display:grid;gap:8px}.nav-link{display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;color:#27405f;border-radius:14px}.nav-link.active{background:#2563eb1a;color:var(--blue);font-weight:700}.nav-icon{width:24px;text-align:center}.logout{margin-top:auto}.main-content{padding:36px}.page-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin-bottom:28px}.page-header h2{font-size:clamp(24px,3vw,34px)}.stats-grid,.quick-actions-grid{display:grid;gap:18px}.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}.stat-card{padding:24px;border-radius:22px;position:relative;overflow:hidden}.stat-accent{position:absolute;inset:0 auto auto 0;width:100%;height:4px}.stat-card p,.stat-card strong{margin:0}.stat-card p{color:var(--text-muted);margin-bottom:10px}.stat-card strong{font-size:44px;letter-spacing:-.04em}.panel{padding:24px;border-radius:26px}.panel h3{margin-top:0}.panel h4,.ai-panel h4{margin:0;font-size:15px}.signup-success-panel{display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;margin-bottom:22px;padding:22px 24px}.signup-success-mark{width:58px;height:58px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,#22c55e2e,#10b98138);color:#15803d;font-size:28px;font-weight:700}.signup-success-panel h3,.signup-success-panel p{margin:0}.signup-success-panel p{color:var(--text-muted)}.quick-actions-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.quick-action-card{padding:24px;border-radius:22px;color:inherit}.quick-action-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:18px;background:#2563eb14;color:var(--blue);font-size:28px}.quick-action-card h3{margin-bottom:8px}.search-input{margin-bottom:18px}.library-ai-toolbar,.article-card-toolbar,.article-manual-actions{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.library-ai-toolbar{margin-bottom:18px}.article-ai-button{min-height:44px}.ai-panel{display:grid;gap:16px;padding:20px;border-radius:22px;background:#2563eb0a;border:1px solid rgba(37,99,235,.08)}.ai-panel-header,.ai-actions,.ai-result-meta{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.ai-panel-header h3,.ai-result-card p{margin:0}.ai-panel-header p{margin:8px 0 0}.usage-badge{min-width:fit-content;padding:10px 14px;border-radius:999px;background:#2563eb1a;color:var(--blue);font-weight:700;font-size:14px}.usage-note{margin:6px 0 0;color:var(--text-muted);font-size:13px}.manual-source-panel,.ai-result-card{display:grid;gap:14px;padding:18px;border-radius:18px;background:#ffffffc7;border:1px solid rgba(148,163,184,.18)}.study-pack-section{display:grid;gap:10px}.study-pack-section.compact{margin-top:6px}.study-pack-list{margin:0;padding-left:18px;color:var(--text-muted)}.study-pack-list.numbered{padding-left:22px}.study-pack-list li+li{margin-top:6px}.preformatted-text{margin:0;white-space:pre-line}.article-list,.review-stack{display:grid;gap:16px}.article-card,.review-card{border-radius:22px;padding:22px}.article-card{display:flex;justify-content:space-between;gap:18px}.article-main{display:grid;gap:8px;flex:1}.article-meta{display:flex;flex-wrap:wrap;gap:12px;color:var(--text-muted);font-size:14px}.article-card h3,.review-card h3{margin:0;font-size:22px}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:999px;background:#0f172a0d;color:#375171;font-size:13px}.icon-button{width:42px;height:42px;border-radius:12px;border:1px solid rgba(15,23,42,.08);background:#ffffffe6}.article-manual-source-panel{margin-top:8px}.review-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}.review-actions:has(.review-neutral-button){grid-template-columns:repeat(3,minmax(0,1fr))}.empty-state,.done-panel{text-align:center;padding:46px 22px;border-radius:28px}.empty-icon{width:68px;height:68px;margin:0 auto 16px;display:grid;place-items:center;border-radius:22px;background:#14b8a61f;color:var(--teal);font-size:30px}.result-panel{width:min(100%,520px);margin:0 auto 24px;text-align:left}.result-list{display:grid;gap:14px}.result-list div{display:flex;justify-content:space-between;gap:18px}.result-list dt,.result-list dd{margin:0}.loader-screen,.loader-inline{display:grid;gap:12px;place-items:center;color:var(--text-muted)}.loader-screen{min-height:100vh}.spinner{width:36px;height:36px;border-radius:999px;border:3px solid rgba(37,99,235,.12);border-top-color:var(--blue);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:1024px){.app-shell,.landing-header,.landing-nav,.landing-hero,.landing-feature-grid,.landing-benefits,.landing-pricing-grid,.landing-bottom-cta{grid-template-columns:1fr}.landing-header,.landing-nav,.landing-bottom-cta{flex-direction:column;align-items:flex-start}.landing-hero,.landing-preview-card{grid-template-columns:1fr}.landing-preview-sidebar{border-right:none;border-bottom:1px solid rgba(148,163,184,.14)}.landing-bottom-actions,.landing-bottom-visual{width:100%}.sidebar{border-right:none;border-bottom:1px solid rgba(148,163,184,.14)}.logout{margin-top:0}.stats-grid,.quick-actions-grid,.pricing-grid,.signup-success-panel{grid-template-columns:1fr}}@media(max-width:720px){.main-content,.landing-page{padding:22px 16px 42px}.landing-copy{padding-right:0}.page-header,.ai-panel-header,.ai-actions,.ai-result-meta,.library-ai-toolbar,.article-card-toolbar,.article-manual-actions{flex-direction:column}.article-card,.review-actions{grid-template-columns:1fr}.landing-pro-chip{position:static;margin-top:18px}.landing-benefits{gap:22px}}
