:root{--navy:#0b1b3a;--navy-deep:#081328;--cobalt:#2563eb;--cobalt-dark:#1d4ed8;--cobalt-soft:#eaf0fe;--ink:#182135;--ink-muted:#5c6678;--paper:#faf8f4;--white:#fff;--gold:#b08a3e;--gold-soft:#f4ecd9;--line:#e7e2d8;--danger:#c0492f;--green:#2e7d52;--serif:"Fraunces", "Zen Kaku Gothic New", serif;--sans:"Zen Kaku Gothic New", sans-serif;--radius:11px;--radius-lg:20px;--radius-pill:100px;--shadow-soft:0 18px 50px #0b1b3a12, 0 2px 8px #0b1b3a0a;--shadow-float:0 30px 70px #0b1b3a1f}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--sans);background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;line-height:1.8}a{color:var(--cobalt);text-decoration:none}button{font-family:var(--sans);cursor:pointer}input,select,textarea{font-family:var(--sans)}.app-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);z-index:50;background:#faf8f4d9;position:sticky;top:0}.app-header__inner{justify-content:space-between;align-items:center;max-width:1080px;margin:0 auto;padding:18px 28px;display:flex}.app-logo{font-family:var(--serif);color:var(--navy);letter-spacing:.05em;font-size:22px;font-weight:600}.app-logo span{font-family:var(--sans);color:var(--ink-muted);margin-left:6px;font-size:11px}.app-nav{align-items:center;gap:24px;display:flex}.app-nav a{color:var(--ink-muted);letter-spacing:.02em;font-size:14px;font-weight:500;position:relative}.app-nav a:hover{color:var(--navy)}.app-nav a.is-active{color:var(--cobalt);font-weight:700}@media (max-width:560px){.app-nav{gap:14px}.app-nav a{font-size:13px}}.container{max-width:1080px;margin:0 auto;padding:48px 28px}.auth-wrap{background:radial-gradient(ellipse 60% 50% at 18% 12%, #2563eb1a, transparent 55%), radial-gradient(ellipse 50% 45% at 85% 88%, #b08a3e1a, transparent 55%), var(--paper);justify-content:center;align-items:center;min-height:100vh;padding:32px 24px;display:flex;position:relative;overflow:hidden}.auth-wrap:before,.auth-wrap:after{content:"";filter:blur(60px);opacity:.5;pointer-events:none;border-radius:50%;position:absolute}.auth-wrap:before{background:radial-gradient(circle,#2563eb40,#0000 70%);width:360px;height:360px;top:-80px;left:-60px}.auth-wrap:after{background:radial-gradient(circle,#b08a3e38,#0000 70%);width:320px;height:320px;bottom:-90px;right:-50px}.auth-mark{background:linear-gradient(140deg, var(--cobalt), var(--navy));width:56px;height:56px;font-family:var(--serif);color:#fff;border-radius:20px;justify-content:center;align-items:center;margin:0 auto 18px;font-size:26px;font-weight:600;display:flex;box-shadow:0 10px 24px #2563eb4d}.login-card{z-index:1;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);width:100%;max-width:410px;box-shadow:var(--shadow-float);text-align:center;background:#ffffffd9;border:1px solid #ffffffb3;border-radius:28px;padding:52px 44px;animation:.6s cubic-bezier(.22,1,.36,1) both pop;position:relative}.login-greet{color:var(--navy);letter-spacing:.01em;margin-bottom:32px;font-size:24px;font-weight:900;line-height:1.5}.login-sub{color:var(--ink-muted);margin-bottom:32px;font-size:13.5px}.login-card form{text-align:left}.signup-card{z-index:1;background:var(--white);width:100%;max-width:860px;box-shadow:var(--shadow-float);border-radius:28px;grid-template-columns:1fr 1.05fr;animation:.6s cubic-bezier(.22,1,.36,1) both pop;display:grid;position:relative;overflow:hidden}.signup-aside{background:radial-gradient(ellipse 80% 60% at 30% 10%, #2563eb66, transparent 60%), linear-gradient(160deg, var(--navy), var(--navy-deep));color:#fff;flex-direction:column;justify-content:center;padding:52px 44px;display:flex;position:relative;overflow:hidden}.signup-aside:after{content:"";background:radial-gradient(circle,#b08a3e40,#0000 70%);border-radius:50%;width:240px;height:240px;position:absolute;bottom:-80px;right:-60px}.signup-aside__logo{font-family:var(--serif);letter-spacing:.06em;z-index:1;margin-bottom:16px;font-size:30px;font-weight:600;position:relative}.signup-aside__lead{z-index:1;margin-bottom:28px;font-size:19px;font-weight:700;line-height:1.7;position:relative}.signup-benefits{z-index:1;list-style:none;position:relative}.signup-benefits li{color:#ffffffd1;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:13.5px;line-height:1.7;display:flex}.signup-benefits li:before{content:"✦";color:var(--gold-soft);flex-shrink:0;margin-top:2px;font-size:14px}.signup-form{flex-direction:column;justify-content:center;padding:52px 44px;display:flex}.signup-form__title{font-family:var(--serif);color:var(--navy);margin-bottom:6px;font-size:24px;font-weight:600}.signup-form__sub{color:var(--ink-muted);margin-bottom:28px;font-size:13px}.auth-switch{text-align:center;color:var(--ink-muted);margin-top:26px;font-size:13px}@keyframes pop{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@media (max-width:720px){.signup-card{grid-template-columns:1fr;max-width:410px}.signup-aside,.signup-form{padding:40px 36px}}.field-group{margin-bottom:18px}.field-label{color:var(--navy);margin-bottom:8px;font-size:13px;font-weight:700;display:block}.field{border:1.5px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);background:#fcfbf8;outline:none;padding:15px 18px;font-size:15px;transition:border-color .25s,box-shadow .25s,background .25s}.field:focus{border-color:var(--cobalt);background:var(--white);box-shadow:0 0 0 4px #2563eb1a}textarea.field{resize:vertical;min-height:90px;line-height:1.8}.btn{border-radius:var(--radius-pill);letter-spacing:.03em;border:1.5px solid #0000;justify-content:center;align-items:center;gap:8px;padding:14px 26px;font-size:14px;font-weight:700;transition:all .3s cubic-bezier(.22,1,.36,1);display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--cobalt);color:#fff}.btn-primary:hover{background:var(--cobalt-dark)}.btn-navy{background:var(--navy);color:#fff}.btn-navy:hover{background:var(--navy-deep)}.btn-outline{color:var(--cobalt);border-color:var(--cobalt);background:0 0}.btn-outline:hover{background:var(--cobalt-soft)}.btn-ghost{color:var(--ink-muted);background:0 0}.btn-ghost:hover{color:var(--navy)}.btn-danger-ghost{color:var(--danger);border-color:var(--line);background:0 0}.btn-danger-ghost:hover{border-color:var(--danger);background:#fbeae6}.btn-full{width:100%}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-sm{padding:8px 16px;font-size:13px}.link-btn{color:var(--cobalt);background:0 0;border:none;font-size:13px;text-decoration:underline}.error-box{color:var(--danger);border-radius:var(--radius);background:#fbeae6;border:1px solid #f0c8bf;margin-bottom:18px;padding:12px 16px;font-size:13px}.muted{color:var(--ink-muted)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:36px;display:flex}.eyebrow{font-family:var(--serif);letter-spacing:.2em;text-transform:uppercase;color:var(--cobalt);margin-bottom:8px;font-size:12px;font-weight:600}.page-title{color:var(--navy);font-size:28px;font-weight:900}.grid{gap:20px;display:grid}.grid-2{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:30px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s;position:relative}.card--link:hover{box-shadow:var(--shadow-float);cursor:pointer;transform:translateY(-4px)}.badge-count{color:#c0392b;white-space:nowrap;background:#fdecec;border-radius:100px;padding:4px 10px;font-size:12px;font-weight:700;position:absolute;top:16px;right:16px}.card__icon{background:linear-gradient(140deg, var(--cobalt), var(--navy));color:#fff;width:48px;height:48px;font-family:var(--serif);border-radius:16px;justify-content:center;align-items:center;margin-bottom:18px;font-size:20px;font-weight:600;display:flex;box-shadow:0 8px 20px #2563eb38}.card__title{color:var(--navy);margin-bottom:6px;font-size:17px;font-weight:700}.card__meta{color:var(--ink-muted);font-size:13px}.tag{font-family:var(--serif);letter-spacing:.05em;border-radius:100px;padding:3px 12px;font-size:11px;font-weight:600;display:inline-block}.tag--polite{background:var(--cobalt-soft);color:var(--cobalt-dark)}.tag--casual{background:var(--gold-soft);color:var(--gold)}.tag--formal{color:var(--navy);background:#e8eaf0}.review-item{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);margin-bottom:18px;padding:24px 28px}.review-head{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.stars{color:var(--gold);letter-spacing:2px;font-size:16px}.review-name{color:var(--navy);font-size:14px;font-weight:700}.review-comment{color:var(--ink);margin-bottom:16px;font-size:14.5px}.reply-box{background:var(--paper);border:1px solid var(--line);border-left:3px solid var(--cobalt);border-radius:var(--radius);margin-top:14px;padding:18px}.reply-label{font-family:var(--serif);letter-spacing:.1em;text-transform:uppercase;color:var(--cobalt);margin-bottom:8px;font-size:11px;font-weight:600}.status-pill{border-radius:100px;margin-left:8px;padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.status-draft{background:var(--gold-soft);color:var(--gold)}.status-posted{color:var(--green);background:#e3f2ea}.status-reposted{color:var(--cobalt);background:#e3eefa}.empty{text-align:center;color:var(--ink-muted);border:1px dashed var(--line);border-radius:var(--radius-lg);background:var(--white);padding:64px 24px;font-size:14px}.stack{flex-direction:column;gap:24px;display:flex}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:32px}.panel__title{color:var(--navy);border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:16px;font-size:17px;font-weight:700}.notice-box{color:var(--green);border-radius:var(--radius);background:#e3f2ea;border:1px solid #bfe3ce;margin-bottom:18px;padding:12px 16px;font-size:13px}.sub-status__plan{color:var(--navy);margin:4px 0 8px;font-size:22px;font-weight:700}.alert-box{border-radius:var(--radius-lg);background:linear-gradient(135deg,#fff7e8,#fdf1d8);border:1.5px solid #e8c98a;gap:16px;padding:22px 24px;display:flex}.alert-box__icon{background:var(--gold);color:#fff;width:30px;height:30px;font-family:var(--serif);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.alert-box__title{color:#8a6a1e;margin-bottom:4px;font-size:15px;font-weight:700}.alert-box__text{color:#6f5518;font-size:13.5px;line-height:1.8}.trial-banner{background:var(--cobalt-soft);border-radius:var(--radius);align-items:center;gap:18px;margin-top:18px;padding:18px 22px;display:flex}.trial-banner__num{font-family:var(--serif);color:var(--cobalt);font-size:38px;font-weight:600;line-height:1}.trial-banner__title{color:var(--navy);margin-bottom:3px;font-size:15px;font-weight:700}.trial-banner__text{color:var(--ink-muted);font-size:13px;line-height:1.7}.plan-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;display:grid}.plan-box{border:1.5px solid var(--line);border-radius:var(--radius-lg);padding:28px 24px;position:relative}.plan-box--popular{border-color:var(--navy)}.plan-box__badge{font-family:var(--serif);letter-spacing:.08em;color:var(--gold-soft);background:var(--navy);border-radius:100px;padding:4px 14px;font-size:11px;font-weight:600;position:absolute;top:-11px;left:24px}.plan-box__name{color:var(--ink-muted);margin-bottom:10px;font-size:14px;font-weight:700}.plan-box__price{font-family:var(--serif);color:var(--navy);margin-bottom:18px;font-size:32px;font-weight:600}.plan-box__price span{font-family:var(--sans);color:var(--ink-muted);font-size:14px}.plan-box__features{margin-bottom:24px;list-style:none}.plan-box__features li{color:var(--ink);padding:5px 0 5px 22px;font-size:13.5px;position:relative}.plan-box__features li:before{content:"✓";color:var(--cobalt);font-weight:700;position:absolute;left:0}.locked{text-align:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);max-width:480px;box-shadow:var(--shadow-soft);margin:56px auto;padding:56px 36px}.locked__icon{margin-bottom:16px;font-size:40px}.locked__title{color:var(--navy);margin-bottom:14px;font-size:22px;font-weight:900}.locked__text{color:var(--ink-muted);margin-bottom:28px;font-size:14px;line-height:1.9}.reply-edit{margin-top:14px}.reply-edit textarea{border:1.5px solid var(--line);border-radius:var(--radius);width:100%;color:var(--ink);resize:vertical;min-height:110px;font-size:14px;line-height:1.85;font-family:var(--sans);background:#fcfbf8;outline:none;padding:14px 16px}.reply-edit textarea:focus{border-color:var(--cobalt);background:#fff;box-shadow:0 0 0 4px #2563eb1a}.modal-overlay{z-index:100;background:#0b1b3a66;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal{background:var(--white);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:36px;box-shadow:0 30px 60px #00000040}.modal h3{color:var(--navy);margin-bottom:20px;font-size:20px;font-weight:900}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.flex{display:flex}.gap-8{gap:8px}.gap-12{gap:12px}.items-center{align-items:center}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.row-between{justify-content:space-between;align-items:center;display:flex}.onboard{background:var(--white);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);margin-bottom:28px;padding:26px 28px}.onboard__head{margin-bottom:18px}.onboard__title{color:var(--navy);font-size:18px;font-weight:800}.onboard__sub{color:var(--ink-muted);margin-top:2px;font-size:13px}.onboard__steps{gap:14px;list-style:none;display:grid}.onboard__steps li{opacity:.55;align-items:flex-start;gap:14px;display:flex}.onboard__steps li.is-current,.onboard__steps li.is-done{opacity:1}.onboard__mark{background:var(--paper);width:30px;height:30px;color:var(--ink-muted);border:1px solid var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.is-current .onboard__mark{background:var(--cobalt);color:#fff;border-color:var(--cobalt)}.is-done .onboard__mark{color:#2e7d52;background:#e6f4ec;border-color:#bfe3cd}.onboard__step-title{color:var(--navy);font-size:15px;font-weight:700}.is-done .onboard__step-title{color:var(--ink-muted);-webkit-text-decoration:line-through #bfc6d4;text-decoration:line-through #bfc6d4}.onboard__text{color:var(--ink-muted);margin:4px 0 10px;font-size:13.5px;line-height:1.8}
