@import"https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css";@import"https://fonts.googleapis.com/css2?family=Fraunces:wght@600;700&family=Gamja+Flower&family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans+KR:wght@300;400;500;600&family=Jua&family=Lexend:wght@300;400;500;600;700;800;900&family=Noto+Sans+KR:wght@300;400;500;700;900&display=swap";@import"https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:wght@200..700&display=swap";:root{color-scheme:light;--bg: #f6f1ea;--bg-strong: #f3e6d6;--panel: #fffdf8;--panel-strong: #f9f1e5;--text: #1f1b16;--muted: #6f6559;--accent: #f47c2a;--accent-strong: #d85a16;--accent-soft: rgba(244, 124, 42, .18);--stroke: rgba(31, 27, 22, .12);--shadow: 0 18px 45px rgba(39, 25, 14, .18);--radius: 20px;--font-body: "Pretendard", "IBM Plex Sans KR", "Apple SD Gothic Neo", sans-serif;--font-display: "Lexend", "Pretendard", "Apple SD Gothic Neo", sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at top,#fff7eb,#f3e6d6 40%,#efe1d1);color:var(--text);font-family:var(--font-body)}body:before{content:"";position:fixed;inset:-30% 0 0;background:radial-gradient(circle at 30% 10%,rgba(244,124,42,.26),transparent 45%),radial-gradient(circle at 70% 20%,rgba(78,138,96,.08),transparent 50%);pointer-events:none;z-index:-1}html,body{overflow-x:hidden}#root{min-height:100vh}.page{padding:32px clamp(16px,4vw,48px) 80px;max-width:1400px;margin:0 auto;display:grid;gap:32px}.global-logo-bar{padding:16px clamp(16px,4vw,48px) 0}.global-logo-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.global-logo-link img{height:28px;width:auto;max-width:100%;display:block}.hero{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:24px}.hero-intro,.hero-panel,.panel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow);position:relative;overflow:hidden}.hero-intro:after{content:"";position:absolute;inset:-30% -10% auto auto;width:220px;height:220px;background:radial-gradient(circle,rgba(217,91,43,.25),transparent 65%);pointer-events:none}.hero-panel{display:grid;gap:14px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:140px;height:48px;border-radius:14px;background:transparent;box-shadow:var(--shadow);margin-bottom:16px}.brand-mark img{width:100%;height:100%;object-fit:contain}.hero-title{font-family:var(--font-display);font-size:28px;margin:0 0 6px}.hero-sub{margin:0 0 18px;color:var(--muted);font-size:15px}.hero-metrics{display:flex;gap:18px;flex-wrap:wrap}.hero-metrics .label{font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);display:block}.hero-metrics .value{font-weight:600;font-size:14px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;padding:12px;border-radius:16px;background:var(--panel-strong);border:1px solid rgba(31,27,22,.08)}.status-grid .label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}.status-grid .value{font-weight:600;margin-top:4px;display:block}.status-grid .meta{font-size:12px;color:var(--muted)}.notice{padding:14px 18px;border-radius:14px;border:1px solid var(--stroke);background:var(--panel);font-size:14px}.notice.success{background:#458a5b1f;border-color:#458a5b66}.notice.error{background:#ca30301f;border-color:#ca303066}.session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.panel h2{font-family:var(--font-display);margin-top:0;margin-bottom:12px}.stack{display:grid;gap:10px}.workspace{display:grid;grid-template-columns:minmax(240px,320px) minmax(0,1fr);gap:24px;align-items:start}.filters{position:sticky;top:20px;display:grid;gap:12px}.filter-row{display:flex;flex-wrap:wrap;gap:10px}.filter-chip{border-radius:999px;border:1px solid var(--stroke);padding:6px 12px;background:transparent;cursor:pointer;font-size:12px;transition:all .2s ease}.filter-chip.active{background:var(--accent);color:#fff;border-color:var(--accent)}.filter-meta{font-size:12px;color:var(--muted)}.groups{display:grid;gap:24px}.action-group{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:20px;display:grid;gap:16px;box-shadow:var(--shadow)}.group-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.group-head h3{margin:0 0 6px;font-family:var(--font-display)}.group-head p{margin:0;color:var(--muted);font-size:13px}.count{background:var(--accent-soft);color:var(--accent-strong);padding:6px 10px;border-radius:999px;font-size:12px}.action-list{display:grid;gap:12px}.action{border:1px solid rgba(31,27,22,.12);border-radius:16px;background:#fff;overflow:hidden}.action summary{list-style:none;cursor:pointer;padding:16px;display:grid;gap:10px}.action summary::-webkit-details-marker{display:none}.action[open] summary{background:var(--panel-strong);border-bottom:1px solid rgba(31,27,22,.08)}.action-head{display:flex;gap:12px;align-items:center}.action-head h4{margin:0 0 4px;font-size:16px}.action-head p{margin:0;color:var(--muted);font-size:12px}.method{padding:6px 10px;border-radius:999px;font-size:11px;letter-spacing:.08em;font-weight:700;text-transform:uppercase}.method.get{background:#226ea826;color:#226ea8}.method.post{background:#458a5b33;color:#458a5b}.method.patch{background:#c6833033;color:#c68330}.method.delete{background:#ca303033;color:#ca3030}.action-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.path{font-family:IBM Plex Mono,Courier New,monospace;font-size:12px;color:var(--muted)}.action-tags{display:flex;gap:8px}.tag{padding:4px 8px;border-radius:999px;font-size:11px;background:#1958821f;color:#195882}.scope-public{background:#464c5826;color:#4a4f59}.scope-user{background:#19588226;color:#195882}.scope-paid{background:#d95b2b2e;color:#b84b21}.scope-admin{background:#9c3f912e;color:#8a2d7d}.action-body{padding:16px 18px 20px;display:grid;gap:12px}.action-note{font-size:12px;color:var(--muted);margin:0}.input-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px}.field{display:grid;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}input,textarea,select{border-radius:12px;padding:10px 12px;border:1px solid rgba(31,27,22,.18);background:#fff;font-family:inherit}textarea{resize:vertical;font-size:13px}input:focus,textarea:focus,select:focus{outline:2px solid rgba(217,91,43,.35);border-color:#d95b2bcc}.action-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{padding:10px 16px;border-radius:999px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 20px #d95b2b4d}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--accent)}.inline-error{color:#ca3030;font-size:13px}.response{background:#1a1410;color:#fef8ef;border-radius:12px;padding:12px;font-size:12px}.response-meta{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#fff9;margin-bottom:6px}.response pre{margin:0;white-space:pre-wrap;word-break:break-word;font-family:IBM Plex Mono,Courier New,monospace}.ws-panel{display:grid;gap:18px}.ws-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.ws-head p{margin:6px 0 0;color:var(--muted);font-size:13px}.ws-status{padding:6px 12px;border-radius:999px;font-size:12px;text-transform:uppercase;letter-spacing:.1em;background:#464c5826;color:#4a4f59}.ws-status.connected{background:#458a5b33;color:#458a5b}.ws-status.connecting{background:#c6833033;color:#c68330}.ws-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px}.ws-controls{display:grid;gap:12px}.ws-actions,.ws-samples{display:flex;gap:10px;flex-wrap:wrap}.ws-log{background:var(--panel-strong);border-radius:16px;padding:16px;display:grid;gap:8px;max-height:320px;overflow-y:auto}.log-entry{display:grid;grid-template-columns:auto auto 1fr;gap:10px;font-size:12px;color:var(--text);padding:6px 8px;border-radius:10px;background:#ffffffa6}.log-entry .time{color:var(--muted);font-variant-numeric:tabular-nums}.log-entry.sent{border:1px solid rgba(69,138,91,.4)}.log-entry.error{border:1px solid rgba(202,48,48,.4)}.log-entry.system{border:1px solid rgba(25,88,130,.4)}.muted{color:var(--muted);font-size:14px;margin:0}@media(max-width:1100px){.hero,.workspace,.ws-grid{grid-template-columns:1fr}.filters{position:static}}@media(max-width:720px){.hero-intro,.hero-panel,.panel{padding:20px}.hero-title{font-size:24px}.log-entry{grid-template-columns:1fr}}.landing-page{--landing-primary: #ff8f2b;--landing-primary-dark: #e0700f;--landing-secondary: #6da475;--landing-bg: #fff6ee;--landing-ink: #131811;--landing-soft: #fff0e2;--landing-border: rgba(19, 24, 17, .12);background:var(--landing-bg);color:var(--landing-ink);font-family:var(--font-body);min-height:100vh}.landing-page *{box-sizing:border-box}.landing-wrap{max-width:1180px;margin:0 auto;padding:0 24px}.landing-display{font-family:var(--font-display)}.landing-nav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8faf8e6;border-bottom:1px solid var(--landing-border)}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between;height:72px;gap:16px}.landing-brand{display:flex;align-items:center;gap:10px}.landing-logo{height:42px;width:auto;object-fit:contain}.landing-nav-links{display:flex;align-items:center;gap:24px;font-weight:600;color:var(--landing-secondary)}.landing-nav-links a{color:inherit;text-decoration:none;transition:color .2s}.landing-nav-links a:hover{color:var(--landing-primary-dark)}.landing-nav-cta{padding:10px 22px;border-radius:999px;background:var(--landing-primary);color:var(--landing-ink);text-decoration:none;font-weight:800;box-shadow:0 10px 30px #ff9a3d40;white-space:nowrap}.landing-hamburger{display:none;background:none;border:none;cursor:pointer;color:var(--landing-ink);padding:8px;font-size:0}.landing-hamburger .material-symbols-outlined{font-size:28px}.landing-mobile-menu{display:none;flex-direction:column;padding:12px 24px 20px;border-top:1px solid var(--landing-border);background:#f8faf8fa}.landing-mobile-menu a{display:block;padding:12px 0;text-decoration:none;color:var(--landing-ink);font-weight:600;border-bottom:1px solid var(--landing-border)}.landing-mobile-menu a:last-child{border-bottom:none}.landing-mobile-login{margin-top:8px;text-align:center;padding:12px 20px;border-radius:999px;background:var(--landing-primary);color:var(--landing-ink)!important;font-weight:800}.landing-hero{position:relative;min-height:620px;display:grid;align-items:center;overflow:hidden}.landing-hero:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#000000a6,#0003);z-index:1}.landing-hero:after{content:"";position:absolute;inset:0;background-image:url(/landing-hero.jpg);background-size:cover;background-position:center;z-index:0}.landing-hero-content{position:relative;z-index:2;color:#fff;display:grid;gap:28px;max-width:600px;padding:80px 0}.landing-pill{display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:6px 16px;background:#ffffff2e;border:1px solid rgba(255,255,255,.3);font-size:12px;letter-spacing:.08em;font-weight:700;width:fit-content}.landing-hero h1{margin:0;font-size:clamp(34px,4vw,64px);line-height:1.05;font-weight:900}.landing-hero-title-line{display:block;white-space:normal}.landing-hero p{margin:0;font-size:18px;line-height:1.6;color:#ffffffe0}.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.landing-btn-primary,.landing-btn-ghost{border-radius:999px;padding:16px 28px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:8px;transition:transform .15s,box-shadow .15s;border:none;cursor:pointer;font-size:16px}.landing-btn-primary{background:var(--landing-primary);color:var(--landing-ink);box-shadow:0 16px 40px #ff9a3d59}.landing-btn-primary:hover{transform:translateY(-2px);box-shadow:0 20px 48px #ff9a3d73}.landing-btn-ghost{background:#ffffff29;border:1px solid rgba(255,255,255,.3);color:#fff}.landing-stats-bar{background:var(--landing-primary);padding:24px 0}.landing-stats-inner{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}.landing-stat{display:flex;flex-direction:column;align-items:center;gap:4px}.landing-stat strong{font-size:28px;font-weight:900;font-family:var(--font-display);color:var(--landing-ink)}.landing-stat span{font-size:14px;font-weight:600;color:#131811b3}.landing-social-proof{padding:32px 0;background:#fff;border-bottom:1px solid var(--landing-border)}.landing-social-proof-inner{display:flex;justify-content:center;gap:48px;flex-wrap:wrap}.landing-proof-item{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--landing-secondary);font-size:15px}.landing-proof-item .material-symbols-outlined{font-size:22px;color:var(--landing-primary)}.landing-section{padding:90px 0}.landing-section-title{text-align:center;max-width:640px;margin:0 auto 50px;display:grid;gap:12px}.landing-section-title h2{margin:0;font-size:clamp(28px,3vw,44px);font-weight:900}.landing-section-title p{margin:0;color:var(--landing-secondary);font-size:18px}.landing-tag{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--landing-soft);color:var(--landing-primary-dark);font-size:13px;font-weight:700}.landing-flow{display:grid;gap:32px;max-width:780px;margin:0 auto}.landing-flow-step{display:flex;gap:24px;align-items:flex-start;position:relative}.landing-flow-step:not(:last-child):after{content:"";position:absolute;left:24px;top:56px;bottom:-32px;width:2px;background:var(--landing-border)}.landing-flow-number{flex-shrink:0;width:48px;height:48px;border-radius:50%;background:var(--landing-primary);color:var(--landing-ink);font-size:20px;font-weight:900;display:grid;place-items:center;font-family:var(--font-display)}.landing-flow-body{background:#fff;border-radius:20px;padding:24px;border:1px solid #e2eadf;box-shadow:0 8px 24px #1318110f;flex:1;display:grid;gap:12px}.landing-flow-head{display:flex;align-items:center;gap:10px}.landing-flow-head .material-symbols-outlined{font-size:24px;color:var(--landing-primary)}.landing-flow-head h3{margin:0;font-size:20px;font-weight:800}.landing-flow-body>p{margin:0;line-height:1.6;color:#555}.landing-flow-tags{display:flex;flex-wrap:wrap;gap:8px}.landing-features-deep{background:#f2f7f1}.landing-deep-list{display:grid;gap:48px}.landing-deep-item{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.landing-deep-item.reverse{direction:rtl}.landing-deep-item.reverse>*{direction:ltr}.landing-deep-text{display:grid;gap:16px}.landing-deep-icon-title{display:flex;align-items:center;gap:14px}.landing-deep-icon-title .material-symbols-outlined{font-size:36px;color:var(--landing-primary)}.landing-deep-icon-title h3{margin:0;font-size:24px;font-weight:800}.landing-deep-subtitle{font-size:14px;color:var(--landing-secondary);font-weight:600}.landing-deep-text>p{margin:0;line-height:1.7;color:#555}.landing-deep-highlights{display:flex;flex-wrap:wrap;gap:8px}.landing-deep-visual{display:grid;place-items:center;background:#fff;border-radius:24px;border:1px solid #e2eadf;min-height:200px;box-shadow:0 12px 32px #1318110f}.landing-deep-visual .material-symbols-outlined{font-size:72px;color:var(--landing-primary);opacity:.35}.landing-gamification{background:var(--landing-soft)}.landing-game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.landing-game-card{background:#fff;border-radius:28px;padding:32px;border:1px solid #e2eadf;box-shadow:0 16px 40px #13181114;display:grid;gap:16px;text-align:center}.landing-game-icon{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;margin:0 auto;background:#ff9a3d26}.landing-game-icon .material-symbols-outlined{font-size:32px;color:var(--landing-primary)}.landing-game-card h3{margin:0;font-size:22px;font-weight:800}.landing-game-card p{margin:0;line-height:1.6;color:#555}.landing-pricing{background:#f2f7f1}.landing-pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.landing-plan{background:#fff;border-radius:32px;padding:32px;border:1px solid #dde6d8;display:grid;gap:20px;position:relative;overflow:hidden}.landing-plan.featured{border:2px solid var(--landing-primary);box-shadow:0 24px 50px #ff9a3d40;transform:scale(1.03)}.landing-plan-badge{position:absolute;top:16px;right:-24px;transform:rotate(12deg);background:var(--landing-primary);color:var(--landing-ink);padding:6px 18px;border-radius:999px;font-weight:800;font-size:12px}.landing-plan .landing-pill{background:#ff8f2b26;border-color:#ff8f2b4d;color:var(--landing-primary-dark)}.landing-plan h3{margin:0;font-size:26px}.landing-plan-price-row{display:flex;align-items:baseline;gap:4px}.landing-plan-price{font-size:36px;font-weight:900}.landing-plan-discount{padding:6px 14px;border-radius:12px;background:#ff8f2b1a;color:var(--landing-primary-dark);font-size:13px;font-weight:700;text-align:center}.landing-plan ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;color:var(--landing-secondary)}.landing-plan li{display:flex;align-items:center;gap:10px}.landing-plan li .material-symbols-outlined{font-size:18px;color:var(--landing-primary)}.landing-plan button,.landing-plan a{text-align:center;border-radius:20px;padding:14px 20px;font-weight:800;text-decoration:none;border:2px solid #e0e8db;color:var(--landing-ink);background:#f7faf6;transition:background .2s}.landing-plan.featured a{background:var(--landing-primary);border-color:var(--landing-primary)}.landing-testimonials{background:var(--landing-bg)}.landing-testimonial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.landing-testimonial-card{background:#fff;border-radius:24px;padding:28px;border:1px solid #e2eadf;box-shadow:0 8px 24px #1318110f;display:grid;gap:16px}.landing-testimonial-role{display:inline-block;padding:4px 12px;border-radius:999px;background:#6da47526;color:var(--landing-secondary);font-size:13px;font-weight:700;width:fit-content}.landing-testimonial-card p{margin:0;line-height:1.7;color:#555;font-style:italic}.landing-testimonial-card strong{font-size:14px;color:var(--landing-ink)}.landing-faq{background:#f2f7f1}.landing-faq-list{max-width:740px;margin:0 auto;display:grid;gap:12px}.landing-faq-item{background:#fff;border-radius:16px;border:1px solid #e2eadf;overflow:hidden}.landing-faq-item summary{padding:20px 24px;font-weight:700;font-size:16px;cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between}.landing-faq-item summary::-webkit-details-marker{display:none}.landing-faq-item summary:after{content:"+";font-size:22px;font-weight:300;color:var(--landing-primary);flex-shrink:0;margin-left:16px}.landing-faq-item[open] summary:after{content:"−"}.landing-faq-item p{margin:0;padding:0 24px 20px;line-height:1.7;color:#555}.landing-cta{background:linear-gradient(135deg,#142210,#1a3a15,#142210);color:#fff;padding:90px 0;position:relative;overflow:hidden}.landing-cta-inner{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.landing-cta-text{display:grid;gap:20px}.landing-cta-text h2{margin:0;font-size:clamp(28px,3vw,40px);font-weight:900}.landing-cta-text p{margin:0;font-size:18px;color:#fffc}.landing-contact-form{background:#ffffff1a;border:1px solid rgba(255,255,255,.15);border-radius:24px;padding:32px;display:grid;gap:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-contact-form h3{margin:0 0 4px;font-size:20px;font-weight:800}.landing-contact-form input,.landing-contact-form select,.landing-contact-form textarea{width:100%;padding:12px 16px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff14;color:#fff;font-size:15px;font-family:inherit;outline:none;transition:border-color .2s}.landing-contact-form input::placeholder,.landing-contact-form textarea::placeholder{color:#ffffff80}.landing-contact-form select{appearance:none;cursor:pointer}.landing-contact-form select option{background:#1a3a15;color:#fff}.landing-contact-form input:focus,.landing-contact-form select:focus,.landing-contact-form textarea:focus{border-color:var(--landing-primary)}.landing-contact-form button{padding:14px 24px;border-radius:16px;border:none;background:var(--landing-primary);color:var(--landing-ink);font-weight:800;font-size:16px;cursor:pointer;transition:transform .15s,box-shadow .15s}.landing-contact-form button:hover{transform:translateY(-2px);box-shadow:0 12px 32px #ff9a3d4d}.landing-footer{padding:60px 0 0;background:#fff;border-top:1px solid #e6efe2}.landing-footer-grid{display:grid;grid-template-columns:2fr 3fr;gap:32px}.landing-footer-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.landing-footer-nav h4{margin:0 0 8px;font-size:14px}.landing-footer-nav a{display:block;text-decoration:none;color:var(--landing-secondary);font-size:14px;margin-bottom:6px;transition:color .2s}.landing-footer-nav a:hover{color:var(--landing-primary-dark)}.landing-footer-bottom{margin-top:40px;padding:20px 0;border-top:1px solid #e6efe2;text-align:center}.landing-footer-bottom p{margin:0;font-size:13px;color:#999}.landing-footer-biz{margin-top:8px!important;font-size:12px!important;color:#bbb!important}@media(max-width:1024px){.landing-nav-links,.landing-nav-cta{display:none}.landing-hamburger{display:block}.landing-mobile-menu{display:flex}.landing-hero{min-height:520px}.landing-deep-item{grid-template-columns:1fr}.landing-deep-item.reverse{direction:ltr}.landing-deep-visual{min-height:160px}.landing-pricing-grid{grid-template-columns:1fr;max-width:420px;margin:0 auto}.landing-plan.featured{transform:none}.landing-testimonial-grid{grid-template-columns:1fr;max-width:480px;margin:0 auto}.landing-cta-inner{grid-template-columns:1fr;text-align:center}.landing-cta-text{justify-items:center}.landing-footer-grid{grid-template-columns:1fr}.landing-footer-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.landing-wrap{padding:0 18px}.landing-hero-content{padding:60px 0}.landing-hero h1{font-size:clamp(28px,6vw,40px)}.landing-hero-actions{flex-direction:column;align-items:stretch}.landing-stats-inner{gap:24px}.landing-stat strong{font-size:22px}.landing-social-proof-inner{flex-direction:column;gap:16px;align-items:center}.landing-section{padding:70px 0}.landing-flow-step{gap:16px}.landing-flow-number{width:40px;height:40px;font-size:16px}.landing-flow-step:not(:last-child):after{left:20px;top:48px}.landing-game-grid{grid-template-columns:1fr;max-width:400px;margin:0 auto}.landing-footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-contact-form{padding:24px}}.auth-page{--auth-orange: #f47c2a;--auth-orange-dark: #d85a16;--auth-green: #6da475;--auth-ink: #2b221d;background:radial-gradient(circle at 15% 10%,rgba(240,108,36,.35),transparent 45%),radial-gradient(circle at 90% 20%,rgba(78,138,96,.12),transparent 50%),linear-gradient(130deg,#fff1e5,#ffe4cd 80%,#edf6ef);min-height:100vh;color:var(--auth-ink);font-family:var(--font-body)}.auth-shell{display:grid;grid-template-columns:1.1fr .9fr;min-height:100vh}.auth-hero{padding:80px 70px;display:grid;align-content:center;gap:24px;background-image:linear-gradient(120deg,#fff4e8eb,#ffefe0bf 45%,#ffead673),url(/auth-hero.jpg);background-size:cover;background-position:center;background-repeat:no-repeat}.auth-hero h1{margin:0;font-size:clamp(32px,4vw,56px);font-weight:800;font-family:var(--font-display)}.auth-hero p{margin:0;font-size:18px;line-height:1.6;color:#5a4a43}.auth-highlight{display:inline-flex;gap:8px;align-items:center;padding:6px 16px;border-radius:999px;background:#f06c2426;font-weight:700;font-size:12px;letter-spacing:.12em;text-transform:uppercase}.auth-panel{background:#ffffffeb;border-left:1px solid rgba(240,108,36,.12);padding:80px 60px;display:grid;align-content:center}.auth-card{background:#fff;border-radius:28px;border:1px solid rgba(240,108,36,.2);padding:28px;display:grid;gap:16px;box-shadow:0 20px 40px #f06c2426}.auth-card h2{margin:0;font-size:24px;font-weight:700}.auth-card form{display:grid;gap:14px}.auth-card label{display:grid;gap:6px;font-size:13px;color:#6b5b53}.auth-card input,.auth-card select{padding:12px 14px;border-radius:14px;border:1px solid rgba(43,34,29,.16);font-size:15px}.auth-actions{display:grid;gap:10px;margin-top:6px}.auth-primary{border:none;border-radius:14px;padding:12px;background:var(--auth-orange);color:#fff;font-weight:700;font-size:16px;cursor:pointer}.auth-primary:disabled{opacity:.6;cursor:default}.auth-secondary{border:1px solid rgba(240,108,36,.3);border-radius:14px;padding:12px;background:#fff7ef;color:var(--auth-ink);font-weight:600;text-decoration:none;text-align:center}.auth-links{display:flex;justify-content:space-between;font-size:13px;color:#6b5b53}.auth-links a{color:inherit;text-decoration:none}.auth-error{color:#c0392b;font-size:13px}.auth-success{color:#27ae60;font-size:13px;background:#27ae601a;padding:12px 16px;border-radius:10px}.auth-notice{background:#f06c241a;border:1px solid rgba(240,108,36,.2);border-radius:10px;padding:12px 16px;font-size:13px;color:#8b5a30;line-height:1.5}.auth-info{background:#3498db1a;border:1px solid rgba(52,152,219,.2);border-radius:10px;padding:12px 16px;font-size:13px;color:#2471a3;line-height:1.5}.pending-card{text-align:center}.pending-icon{display:flex;justify-content:center;margin-bottom:8px}.pending-icon .material-symbols-outlined{font-size:64px;color:var(--auth-orange);animation:pendingPulse 2s ease-in-out infinite}@keyframes pendingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.05)}}.pending-message{font-size:16px;color:var(--auth-ink);margin:0}.pending-description{font-size:14px;color:#6b5b53;line-height:1.6;margin:0}.pending-user-info{font-size:14px;color:var(--auth-ink);background:#f06c2414;padding:12px 16px;border-radius:10px;margin:8px 0}.pending-actions{display:grid;gap:10px;margin-top:8px}.pending-actions .auth-primary{display:flex;align-items:center;justify-content:center;gap:8px}.pending-actions .auth-primary .material-symbols-outlined{font-size:18px}.pending-notice{font-size:12px;color:#999;margin-top:8px}@media(max-width:960px){.auth-shell{grid-template-columns:1fr}.auth-hero{padding:60px 40px 20px}.auth-panel{padding:30px 40px 60px}}@media(max-width:640px){.auth-hero{padding:40px 24px 10px}.auth-panel{padding:20px 24px 40px}}.start-page{--meadow-light: #e4f4e7;--meadow-green: #ffb26b;--meadow-dark: #f07f1a;--earth-brown: #8a5f4f;--earth-dark: #4a2f24;--sun-yellow: #ffd16b;--carrot-orange: #ff944d;--sky-blue: #81d4fa;--card-bg: #ffffff;--card-border: #f3d6bf;background:linear-gradient(135deg,#f5f7f0d9,#ffe6cfd9),url(/farm-bg.jpg) center/cover fixed no-repeat;color:var(--earth-dark);font-family:var(--font-body);min-height:100vh}.start-page h1,.start-page h2,.start-page h3,.start-page strong{font-family:var(--font-display);font-weight:700}.start-page *{box-sizing:border-box}.start-shell{max-width:1100px;margin:0 auto;padding:24px 20px 120px;position:relative}.start-header{background:#ffffffe6;border-radius:28px;padding:24px;border:2px solid rgba(255,170,92,.35);box-shadow:0 12px 24px #ffaa5c33;display:grid;gap:18px}.start-header-top{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center}.start-avatar{width:70px;height:70px;border-radius:50%;background:#ddd center/cover no-repeat;border:3px solid #fff;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.start-avatar .start-avatar-fallback{font-size:28px;color:#999}.start-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.start-level-label{font-size:13px;font-weight:700;color:var(--carrot-orange);background:#ff944d26;padding:2px 8px;border-radius:999px}.start-greeting h1{margin:0 0 6px;font-size:26px}.start-greeting span{color:var(--meadow-dark)}.start-xp{font-size:12px;font-weight:700;display:flex;justify-content:space-between}.start-progress{height:10px;border-radius:999px;background:var(--meadow-light);overflow:hidden;border:1px solid rgba(255,170,92,.4)}.start-progress span{display:block;height:100%;width:45%;background:linear-gradient(90deg,var(--meadow-green),var(--meadow-dark))}.start-season-score{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:14px;color:var(--earth-brown)}.start-season-score .material-symbols-outlined{font-size:18px;color:#e8a020}.start-season-label{font-weight:500;color:#8a7a6a}.start-season-score strong{font-size:18px;color:#d48a10}.start-season-score:hover{opacity:.8}.start-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.start-stat{background:#e4f4e7e6;border-radius:16px;padding:10px;display:grid;gap:6px;place-items:center;border:1px solid rgba(125,191,122,.3);font-weight:700}.start-stat span{font-size:14px;color:var(--earth-brown)}.start-sub-btn{margin-top:6px;padding:6px 14px;border:1px solid rgba(0,0,0,.15);border-radius:10px;background:#fff;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;color:var(--earth-brown);font-weight:600}.start-grid{display:grid;grid-template-columns:2.2fr 1fr;gap:24px;margin-top:24px}.start-section{display:grid;gap:14px}.start-section h2{display:flex;align-items:center;gap:8px;font-size:22px;margin:0}.start-card{background:var(--card-bg);border-radius:24px;padding:18px;border:2px solid rgba(243,214,191,.9);box-shadow:0 10px 20px #ffaa5c2e;display:grid;gap:12px}.start-card .badge{display:inline-flex;align-items:center;gap:4px;background:var(--meadow-green);color:#fff;font-size:12px;padding:4px 8px;border-radius:8px}.start-card h3{margin:0;font-size:20px}.start-card-notice{margin:4px 0 0;font-size:11px;color:#999}.start-progress-mini{height:6px;background:#f2f2f2;border-radius:999px;overflow:hidden}.start-progress-mini span{display:block;height:100%;width:30%;background:var(--meadow-green)}.start-card button{border:none;background:var(--meadow-green);color:#fff;border-radius:12px;padding:8px 14px;font-weight:800;cursor:pointer;width:fit-content}.start-card-button{border:none;background:var(--meadow-green);color:#fff;border-radius:12px;padding:8px 14px;font-weight:800;cursor:pointer;width:fit-content;text-decoration:none;display:inline-flex}.start-basket{background:linear-gradient(140deg,#8d6e63,#5d4037);color:#fff;border-radius:24px;padding:18px;border:4px solid #5d4037;display:grid;gap:12px}.start-basket button{border:none;background:var(--meadow-green);color:#fff;font-weight:900;border-radius:14px;padding:10px 16px;cursor:pointer}.start-side{display:grid;gap:16px}.start-rank{background:#fff;border-radius:22px;padding:18px;border:2px solid rgba(255,241,118,.6)}.start-rank ul{list-style:none;padding:0;margin:0;display:grid;gap:10px;font-size:14px}.start-rank-link{margin-top:12px;display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:999px;background:var(--meadow-dark);color:#fff;font-size:13px;font-weight:700;text-decoration:none;width:fit-content}.start-duel{background:#ff8a80;color:#fff;border-radius:22px;padding:18px;display:flex;align-items:center;justify-content:space-between}.start-duel button{border:none;background:#fff;color:#d32f2f;padding:8px 14px;border-radius:999px;font-weight:800;cursor:pointer}.start-shop{background:linear-gradient(135deg,#fff1e0,#ffe0c2);border-color:#f07f1a59}.start-shop-title{display:flex;align-items:center;gap:8px}.start-shop-title span{color:var(--meadow-dark)}.start-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid var(--card-border);display:none;justify-content:space-around;padding:10px 8px 16px;z-index:30}.start-nav a{text-decoration:none;color:var(--earth-brown);font-size:11px;font-weight:700;display:grid;justify-items:center;gap:4px}.start-nav a.active{color:var(--meadow-dark)}.start-paid-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.start-paid-card{background:var(--card-bg);border-radius:20px;padding:16px;border:2px solid var(--card-border);box-shadow:0 6px 14px #ffaa5c1f;display:grid;gap:6px;cursor:pointer;transition:box-shadow .15s;position:relative}.start-paid-card:hover{box-shadow:0 8px 20px #ffaa5c47}.start-paid-card .material-symbols-outlined{font-size:28px;color:var(--meadow-dark)}.start-paid-card h3{margin:0;font-size:16px}.start-paid-card p{margin:0;font-size:12px;color:var(--earth-brown)}.start-paid-card--locked{opacity:.5;filter:grayscale(.6)}.start-paid-card--locked:hover{box-shadow:0 6px 14px #ffaa5c1f}.start-lock-badge{position:absolute;top:8px;right:8px;background:#0000008c;color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:999px}.start-seed-log{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:13px}.harvest-overlay{position:fixed;inset:0;background:#00000073;display:grid;place-items:center;z-index:100}.harvest-modal{background:#fff;border-radius:24px;padding:28px;width:340px;max-width:92vw;display:grid;gap:16px;position:relative}.harvest-modal h2{margin:0;font-size:22px}.harvest-close{position:absolute;top:12px;right:12px;border:none;background:none;cursor:pointer;font-size:20px}.harvest-field{display:grid;gap:6px;font-weight:700;font-size:14px}.harvest-field select{padding:8px 12px;border-radius:12px;border:2px solid var(--card-border);font-size:14px}.harvest-toggle{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.harvest-error{color:#d32f2f;font-size:13px}.harvest-result{display:flex;align-items:center;gap:8px;color:#2e7d32;font-weight:700}.harvest-submit{border:none;background:linear-gradient(135deg,#ffb26b,#f07f1a);color:#fff;font-weight:800;border-radius:14px;padding:12px;cursor:pointer;font-size:15px}.harvest-submit:disabled{opacity:.6;cursor:not-allowed}.hcm-card{max-width:380px;width:92vw;background:#fff;border-radius:24px;padding:24px;display:grid;gap:0;box-shadow:0 12px 32px #0000002e}.hcm-title{margin:0 0 16px;font-size:20px;text-align:center}.hcm-result-emoji{text-align:center;font-size:48px;margin-bottom:8px}.hcm-result-text{font-size:15px;line-height:1.8;text-align:center}.hcm-highlight{color:#f07f1a;font-size:18px}.hcm-btn-row{display:flex;gap:8px;justify-content:center;margin-top:16px}.hcm-btn{border:none;background:#ff8f2b;color:#fff;padding:10px 20px;border-radius:10px;cursor:pointer;font-weight:700;font-size:14px}.hcm-btn-secondary{background:#aaa}.hcm-btn:disabled{opacity:.5;cursor:not-allowed}.hcm-section{margin-bottom:16px}.hcm-section-label{font-size:12px;color:#888;margin-bottom:6px;text-align:center}.hcm-picker{display:flex;align-items:center;justify-content:center;gap:12px}.hcm-arrow{width:36px;height:36px;border:none;border-radius:10px;background:#fff5eb;color:#f07f1a;font-size:18px;font-weight:900;cursor:pointer;display:grid;place-items:center;transition:background .15s}.hcm-arrow:disabled{background:#eee;color:#ccc;cursor:not-allowed}.hcm-seed-display{text-align:center;min-width:120px}.hcm-seed-emoji{font-size:40px}.hcm-seed-name{font-weight:700;font-size:16px;margin-top:4px}.hcm-seed-count{font-size:12px;color:#888}.hcm-qty-display{text-align:center;min-width:100px;padding:8px 0;background:#f9f5f0;border-radius:12px}.hcm-qty-number{font-size:24px;font-weight:800;color:#f07f1a}.hcm-qty-label{font-size:11px;color:#888}.hcm-max-info{font-size:11px;color:#aaa;text-align:center;margin-top:4px}.hcm-insufficient{text-align:center;padding:12px 0;font-size:13px;color:#c0392b;margin-bottom:16px}.hcm-fertilizer{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;margin-bottom:16px}.hcm-fertilizer-enabled{cursor:pointer;color:#333}.hcm-fertilizer-disabled{cursor:not-allowed;color:#bbb}.hcm-preview{padding:12px 16px;background:#f9f5f0;border-radius:14px;margin-bottom:16px;text-align:center;line-height:1.8;font-size:14px}.hcm-preview-arrow{font-size:18px}.hcm-fertilizer-tag{color:#e67e22;font-size:12px}.hcm-error{color:#c0392b;font-size:13px;text-align:center;margin-bottom:12px}.start-daily-shell{max-width:500px;margin:0 auto;padding:60px 16px}.start-daily-shell h1{text-align:center;margin-bottom:8px}.start-daily-shell>p{text-align:center;color:#8a7468;margin-bottom:32px}.start-daily-grid{display:grid;gap:16px}.start-daily-grid .start-card{cursor:pointer}.badge-reading{background:#81d4fa}.lr-loading{padding:40px;text-align:center;font-family:var(--font-body)}.lr-error{color:#888}.start-modal-overlay{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:1000}.start-modal-card{max-width:360px;width:92vw;background:#fff;border-radius:24px;padding:24px;box-shadow:0 12px 32px #0000002e;display:grid}.start-modal-card h2{margin:0 0 12px;font-size:20px}.start-select{padding:6px 10px;border:1px solid rgba(0,0,0,.15);border-radius:10px;font-size:13px;color:#222;background:#fff;cursor:pointer;font-family:var(--font-body)}.start-formula-box{margin-top:12px;padding:10px 12px;background:#f06c2414;border-radius:12px;font-size:12px;color:#6b5b50}.start-label{font-size:13px;color:#6b5b50}.start-inv-row{display:flex;align-items:center;gap:8px;font-size:14px}.start-inv-row .inv-emoji{font-size:20px}.start-inv-row strong{min-width:50px}.start-modal-close{margin-top:12px;padding:8px 20px;border:none;border-radius:12px;background:var(--meadow-green, #ffb26b);color:#fff;font-weight:700;cursor:pointer}.start-flex-row{display:flex;align-items:center;gap:8px}.start-flex-wrap{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px;font-size:13px}.progress-bar{background:#eee;border-radius:8px;height:8px;overflow:hidden}.progress-bar-fill{background:#ff8f2b;border-radius:8px;height:100%;transition:width .3s}.start-btn-primary{padding:10px 20px;background:#ff8f2b;color:#fff;border:none;border-radius:8px;font-weight:700;cursor:pointer}.start-btn-secondary{padding:10px 20px;background:#eee;border:none;border-radius:8px;font-weight:700;cursor:pointer}.start-btn-ghost{margin-top:12px;padding:8px 16px;background:none;border:1px solid #ddd;border-radius:8px;cursor:pointer;width:100%}.page-center{max-width:700px;margin:80px auto;padding:0 20px;text-align:center}.page-center .text-muted{color:#8a7468;margin-top:12px}.page-center .text-error{color:#c0392b;margin-top:12px}.page-center .link-action{display:inline-block;margin-top:24px;color:#ff8f2b;font-weight:700;text-decoration:none}.common-table{width:100%;border-collapse:collapse;font-size:14px}.common-table thead tr{border-bottom:2px solid #d4c5b9;color:#6b5b50}.common-table th,.common-table td{padding:10px 8px;text-align:center;white-space:nowrap}.common-table tbody tr{border-bottom:1px solid #e8ddd4}@media(max-width:1024px){.start-grid{grid-template-columns:1fr}.start-side{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:768px){.start-shell{padding:20px 16px 120px}.start-header-top{grid-template-columns:auto 1fr}.start-cta{flex-direction:column;align-items:flex-start}.start-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.start-side{grid-template-columns:1fr}.start-nav{display:flex}.start-paid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
