:root{--ink:#101b18;--muted:#6f7c77;--line:#dfe7e2;--paper:#f4f7f4;--white:#fff;--green:#48b52f;--green2:#14653d;--lime:#c8ef56;--amber:#f6b84a;--red:#df644f;--shadow:0 16px 40px rgba(16,43,29,.1);--radius:18px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;font-size:15px;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}.demo-bar{height:34px;background:#173a2c;color:#dcebe3;display:flex;align-items:center;justify-content:center;gap:9px;font-size:12px;letter-spacing:.02em}.demo-bar span{font-size:10px;font-weight:800;letter-spacing:.13em;background:var(--lime);color:#143122;border-radius:20px;padding:2px 8px}.app-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:calc(100vh - 34px)}.sidebar{background:#0f1a17;color:#fff;padding:22px 18px 18px;display:flex;flex-direction:column;position:sticky;top:0;height:calc(100vh - 34px);overflow:auto}.brand{display:flex;align-items:center;gap:12px;padding:0 8px 22px}.brand b{display:block;font-size:21px;letter-spacing:.08em}.brand small{display:block;color:#9fb0a9;font-size:11px;letter-spacing:.07em}.brand-mark{width:37px;height:37px;display:flex;align-items:flex-end;gap:3px;transform:skew(-12deg)}.brand-mark i{width:9px;background:var(--green);display:block}.brand-mark i:nth-child(1){height:20px}.brand-mark i:nth-child(2){height:29px}.brand-mark i:nth-child(3){height:37px;background:var(--lime)}.profile-card{display:flex;align-items:center;gap:10px;background:#1a2a24;border:1px solid #294138;padding:11px;border-radius:14px;margin-bottom:22px}.avatar{width:34px;height:34px;display:grid;place-items:center;background:linear-gradient(145deg,var(--lime),var(--green));color:#173122;border-radius:50%;font-weight:800;flex:none}.profile-card div:nth-child(2){min-width:0;flex:1}.profile-card b,.profile-card span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card b{font-size:13px}.profile-card span{font-size:10px;color:#9fb0a9}.icon-btn{border:0;background:transparent;color:#bdcbc5;font-size:17px;padding:6px}.sidebar nav{display:grid;gap:5px}.nav-section{color:#788b83;font-size:10px;font-weight:700;letter-spacing:.14em;padding:13px 12px 6px}.nav-item{width:100%;border:0;background:transparent;color:#b8c6c0;border-radius:11px;padding:10px 12px;text-align:left;display:flex;gap:11px;align-items:center}.nav-item .nav-icon{width:21px;text-align:center;font-size:17px}.nav-item:hover,.nav-item.active{background:#20372e;color:#fff}.nav-item.active{box-shadow:inset 3px 0 var(--lime)}.sidebar-foot{margin-top:auto;padding-top:18px}.source-badge{border-top:1px solid #273b33;padding:15px 8px 10px}.source-badge span,.source-badge b,.source-badge small{display:block}.source-badge span{color:var(--lime);font-size:10px;letter-spacing:.12em}.source-badge b{font-size:11px}.source-badge small{font-size:10px;color:#83968e}.text-btn{border:0;background:transparent;color:#8fa299;font-size:11px;padding:5px 8px}.main{padding:38px clamp(24px,4vw,64px) 72px;max-width:1460px;width:100%;margin:auto}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px}.eyebrow{color:var(--green2);font-weight:800;font-size:11px;letter-spacing:.13em;text-transform:uppercase}.page-head h1,.hero h1{font-size:clamp(28px,3vw,44px);line-height:1.18;letter-spacing:-.035em;margin:6px 0}.page-head p,.hero p{color:var(--muted);margin:0}.date-chip{background:#e6efe8;color:#476057;padding:8px 12px;border-radius:50px;font-size:12px;white-space:nowrap}.hero{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(125deg,#10231c 0%,#153d2c 72%,#24633c 100%);color:white;padding:40px clamp(26px,5vw,64px);margin-bottom:22px;min-height:270px;display:flex;align-items:center;box-shadow:var(--shadow)}.hero:after{content:"";position:absolute;width:430px;height:430px;border:55px solid rgba(154,238,77,.13);border-radius:46% 54% 55% 45%;right:-160px;top:-170px;transform:rotate(23deg)}.hero-copy{position:relative;z-index:2;max-width:640px}.hero p{color:#cbdad3;max-width:520px}.hero-actions{display:flex;gap:10px;margin-top:24px;flex-wrap:wrap}.primary,.secondary,.danger,.ghost{border:0;border-radius:10px;padding:11px 17px;font-weight:750}.primary{background:var(--lime);color:#183020}.primary:hover{background:#d8fb70}.secondary{background:#fff;color:var(--green2);border:1px solid var(--line)}.ghost{background:rgba(255,255,255,.08);color:#fff;border:1px solid rgba(255,255,255,.25)}.danger{background:#fff0ed;color:#a74434}.wide{width:100%}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.stat{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:19px;min-width:0}.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{font-size:29px;letter-spacing:-.04em}.stat strong em{font-style:normal;font-size:13px;color:var(--muted);margin-left:3px}.stat .trend{font-size:11px;color:var(--green2);font-weight:700}.progress-bar{height:7px;background:#e8eee9;border-radius:10px;overflow:hidden;margin-top:12px}.progress-bar i{height:100%;display:block;background:linear-gradient(90deg,var(--green2),var(--lime));border-radius:10px}.section-title{display:flex;align-items:center;justify-content:space-between;margin:28px 0 14px}.section-title h2{font-size:20px;margin:0}.section-title a,.link-btn{font-size:12px;color:var(--green2);font-weight:700;text-decoration:none;border:0;background:transparent}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.course-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;position:relative;transition:.2s ease;overflow:hidden}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.course-card.locked{opacity:.65}.course-top{display:flex;justify-content:space-between;align-items:center}.course-no{font-size:11px;font-weight:800;color:var(--green2);letter-spacing:.08em}.status-pill{font-size:10px;font-weight:700;border-radius:30px;padding:4px 8px;background:#eff4f0;color:#53665f}.status-pill.done{background:#dff4d7;color:#286e2a}.status-pill.open{background:#fff0d4;color:#89621b}.course-icon{width:54px;height:54px;border-radius:15px;background:#e7f4e4;color:var(--green2);display:grid;place-items:center;font-size:27px;margin:17px 0}.course-card h3{font-size:17px;margin:0 0 8px}.course-card p{font-size:12px;color:var(--muted);min-height:38px}.meta-row{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:12px;margin-top:13px;font-size:11px;color:var(--muted)}.two-col{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(270px,.6fr);gap:18px}.panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:22px}.panel h3{margin:0 0 14px;font-size:16px}.activity-list{display:grid;gap:4px}.activity{display:grid;grid-template-columns:33px 1fr auto;gap:11px;align-items:center;padding:10px 0;border-bottom:1px solid #edf1ee}.activity:last-child{border:0}.activity-icon{width:32px;height:32px;border-radius:10px;background:#eef5ef;display:grid;place-items:center}.activity b,.activity small{display:block}.activity b{font-size:12px}.activity small{color:var(--muted);font-size:10px}.score{font-weight:800;color:var(--green2)}.callout{border-radius:15px;background:#edf6e8;padding:17px;display:flex;gap:13px;align-items:flex-start}.callout .big-icon{font-size:24px}.callout b,.callout span{display:block}.callout span{color:var(--muted);font-size:12px}.quiz-shell{max-width:860px;margin:auto}.quiz-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.quiz-progress{flex:1;margin-right:18px}.quiz-progress small{display:flex;justify-content:space-between;margin-bottom:6px;color:var(--muted)}.quiz-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(24px,5vw,48px);box-shadow:var(--shadow)}.question-kicker{color:var(--green2);font-size:11px;font-weight:800;letter-spacing:.12em}.quiz-card h2{font-size:clamp(21px,3vw,31px);line-height:1.45;margin:10px 0 24px}.answers{display:grid;gap:10px}.answer{border:1.5px solid var(--line);border-radius:13px;background:#fff;padding:15px 17px;text-align:left;display:flex;align-items:center;gap:13px;color:var(--ink)}.answer:hover{border-color:#99c891;background:#f9fcf8}.answer .letter{width:28px;height:28px;border:1px solid #cad7ce;border-radius:8px;display:grid;place-items:center;font-weight:800;font-size:12px;flex:none}.answer.selected{border-color:var(--green2);background:#eef8eb}.answer.selected .letter{background:var(--green2);color:#fff;border-color:var(--green2)}.answer.correct{border-color:var(--green);background:#edf9e8}.answer.wrong{border-color:var(--red);background:#fff2ef}.quiz-actions{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.quiz-note{font-size:11px;color:var(--muted)}.explanation{margin-top:20px;padding:18px;border-radius:14px;background:#f0f6ee;border-left:4px solid var(--green);display:none}.explanation.show{display:block}.explanation strong{color:var(--green2)}.source-note{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);margin-top:10px}.dot{width:6px;height:6px;background:var(--green);border-radius:50%}.result-ring{width:142px;height:142px;border-radius:50%;display:grid;place-items:center;margin:0 auto 22px;background:conic-gradient(var(--green) 0 288deg,#e4ebe6 288deg);position:relative}.result-ring:after{content:"";position:absolute;inset:13px;background:#fff;border-radius:50%}.result-ring span{z-index:1;text-align:center;font-size:32px;font-weight:900;line-height:1}.result-ring small{display:block;font-size:10px;color:var(--muted);margin-top:4px}.sales-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.sales-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0;overflow:hidden}.sales-card-head{padding:18px 20px;background:linear-gradient(120deg,#153b2b,#26734a);color:#fff}.sales-card-head small{color:#bcd5c7}.sales-card-head h3{margin:4px 0 0}.talk-flow{padding:17px 20px;display:grid;gap:12px}.talk-step{display:grid;grid-template-columns:28px 1fr;gap:10px}.talk-step i{width:27px;height:27px;background:#eaf4e7;color:var(--green2);font-style:normal;font-weight:800;border-radius:50%;display:grid;place-items:center;font-size:11px}.talk-step b,.talk-step span{display:block}.talk-step b{font-size:11px;color:var(--green2)}.talk-step span{font-size:12px}.copy-talk{margin:0 20px 19px;width:calc(100% - 40px)}.review-list{display:grid;gap:10px}.review-row{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px 18px;display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center}.review-row h3{font-size:14px;margin:0}.review-row p{font-size:11px;color:var(--muted);margin:2px 0 0}.tag{font-size:10px;border-radius:20px;padding:4px 8px;background:#eef3ef;color:#52625c}.tag.mistake{background:#fff0ed;color:#a34a3a}.chart{height:220px;display:flex;align-items:flex-end;gap:16px;padding:18px 8px 0;border-bottom:1px solid var(--line)}.chart-col{height:100%;flex:1;display:flex;align-items:flex-end;justify-content:center;position:relative}.chart-col i{width:min(48px,70%);height:var(--h);background:linear-gradient(#bce94e,#36a541);border-radius:8px 8px 0 0}.chart-col b{position:absolute;bottom:calc(var(--h) + 5px);font-size:11px}.chart-col span{position:absolute;top:100%;font-size:10px;color:var(--muted);white-space:nowrap;margin-top:7px}.admin-tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:20px}.admin-tab{border:0;background:transparent;padding:11px 15px;color:var(--muted);font-weight:700;font-size:12px;border-bottom:2px solid transparent}.admin-tab.active{color:var(--green2);border-bottom-color:var(--green)}.table-wrap{overflow:auto}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{text-align:left;color:var(--muted);font-size:10px;letter-spacing:.05em;padding:10px;border-bottom:1px solid var(--line)}.data-table td{padding:12px 10px;border-bottom:1px solid #edf1ee;white-space:nowrap}.data-table tr:last-child td{border:0}.mini-avatar{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#e6f4e2;color:#2a6d35;margin-right:8px;font-weight:800}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#52615b}input,select,textarea{border:1px solid #ccd8d0;background:#fff;border-radius:10px;padding:10px 12px;color:var(--ink);outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(71,181,47,.12)}textarea{min-height:90px;resize:vertical}.option-input{display:grid;grid-template-columns:32px 1fr 80px;gap:7px;align-items:center}.option-input span{font-weight:800;color:var(--green2)}.permission-grid{display:grid;grid-template-columns:1.4fr repeat(3,.7fr);font-size:12px}.permission-grid>div{padding:12px;border-bottom:1px solid var(--line)}.permission-grid .head{font-size:10px;color:var(--muted);font-weight:800}.switch{width:38px;height:22px;border:0;border-radius:20px;background:#cbd4cf;padding:3px;transition:.2s}.switch:before{content:"";display:block;width:16px;height:16px;background:white;border-radius:50%;transition:.2s}.switch.on{background:var(--green)}.switch.on:before{transform:translateX(16px)}.about-card{max-width:800px;background:#fff;border:1px solid var(--line);border-radius:24px;padding:clamp(25px,5vw,48px)}.about-card h2{font-size:28px}.about-list{display:grid;gap:12px;margin:22px 0}.about-item{display:flex;gap:12px}.about-item i{font-style:normal;color:var(--green2);font-weight:900}.toast{position:fixed;right:24px;bottom:24px;background:#14261f;color:#fff;border-radius:12px;padding:12px 17px;box-shadow:var(--shadow);font-size:12px;opacity:0;transform:translateY(10px);pointer-events:none;transition:.25s;z-index:20}.toast.show{opacity:1;transform:none}.login-dialog{border:0;padding:0;border-radius:24px;box-shadow:0 30px 100px rgba(0,0,0,.35);max-width:720px;width:calc(100% - 32px);overflow:hidden}.login-dialog::backdrop{background:rgba(8,19,14,.72);backdrop-filter:blur(5px)}.login-dialog form{display:grid;grid-template-columns:1fr 1fr}.login-art{background:#132d22;color:#fff;min-height:430px;padding:34px;display:flex;align-items:flex-end;position:relative;overflow:hidden}.login-art span{font-size:27px;font-weight:900;line-height:1.3;position:relative}.roof-lines{position:absolute;width:380px;height:280px;border:50px solid var(--green);border-left-color:transparent;border-bottom-color:transparent;transform:rotate(-28deg);top:-80px;left:-90px;opacity:.8}.login-body{padding:40px;display:grid;gap:14px;align-content:center}.login-body h2{font-size:28px;margin:0}.login-body p{margin:-8px 0 5px;color:var(--muted)}.login-body small{text-align:center;color:var(--muted)}.mobile-nav{display:none}
@media(max-width:1000px){.stats-grid{grid-template-columns:repeat(2,1fr)}.course-grid{grid-template-columns:repeat(2,1fr)}.sales-grid{grid-template-columns:1fr}.two-col{grid-template-columns:1fr}.sidebar{width:220px}.app-shell{grid-template-columns:220px minmax(0,1fr)}}
@media(max-width:760px){body{padding-bottom:62px}.demo-bar{height:auto;min-height:34px;padding:5px 10px;text-align:center;font-size:10px}.app-shell{display:block}.sidebar{display:none}.main{padding:24px 16px 54px}.mobile-nav{position:fixed;display:grid;grid-template-columns:repeat(4,1fr);z-index:15;bottom:0;left:0;right:0;height:64px;background:#11221b;border-top:1px solid #31463d;color:#fff}.mobile-nav button{background:transparent;border:0;color:#9db0a7;font-size:9px;display:grid;place-items:center;gap:0;padding:5px}.mobile-nav button span{font-size:19px}.mobile-nav button.active{color:var(--lime)}.hero{padding:30px 24px;min-height:310px}.stats-grid,.course-grid{grid-template-columns:1fr}.course-card p{min-height:0}.page-head{align-items:flex-start;flex-direction:column}.review-row{grid-template-columns:1fr auto}.review-row .secondary{grid-column:1/-1}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.login-dialog form{grid-template-columns:1fr}.login-art{display:none}.login-body{padding:30px 24px}.permission-grid{grid-template-columns:1.3fr repeat(3,.65fr);font-size:10px}.permission-grid>div{padding:8px 4px}.chart{gap:7px}.quiz-card{padding:23px 18px}.quiz-actions{align-items:stretch;gap:10px;flex-direction:column-reverse}.quiz-actions button{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
