:root{--ink:#254526;--muted:#6f725f;--line:#d9d2b5;--paper:#f5eedc;--panel:#fffaf0;--accent:#285f31;--accent-strong:#17401f;--gold:#8f7d3e;--rose:#9b535d;--shadow:0 18px 42px #28402021}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(circle at 100% 0,#9aa67466,transparent 24rem),radial-gradient(circle at 0 100%,#2a5c4745,transparent 24rem),linear-gradient(135deg,#faf5e8,#f1ead6 56%,#d9ddbd)}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}a.primary{display:inline-flex;align-items:center;width:fit-content;color:white;text-decoration:none}.topbar{position:sticky;top:0;z-index:5;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;padding:14px 22px;background:#faf6eae6;border-bottom:1px solid #7b76523d;backdrop-filter:blur(14px)}.brand{display:inline-flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none}.brand-mark{position:relative;display:grid;width:52px;height:52px;place-items:center;color:transparent;background:radial-gradient(circle at 62% 62%,#ffffffb8 0 8%,transparent 9%),linear-gradient(145deg,#f9f3df 0 58%,#2a6433 59%);border:1px solid #2d552747;border-radius:56% 44% 58% 42%/48% 46% 54% 52%;box-shadow:inset 0 0 0 2px #ffffff61,0 10px 24px #23492329;transform:rotate(-14deg);overflow:hidden}.brand-mark:before{content:"";position:absolute;left:16px;top:9px;width:13px;height:28px;border-radius:80% 0 80% 0;background:linear-gradient(135deg,#8ead62,#295f31);box-shadow:12px 8px 0 -1px #73984f,-7px 18px 0 -1px #2f7438;transform:rotate(24deg)}.brand-mark:after{content:"";position:absolute;left:9px;right:6px;bottom:9px;height:13px;border-bottom:5px solid #1f6230;border-radius:0 0 90% 90%;transform:rotate(11deg)}.brand small{display:block;color:var(--muted);font-size:12px}.nav{display:flex;gap:6px;overflow-x:auto}.nav a{flex:0 0 auto;padding:9px 10px;color:#58664d;text-decoration:none;border-radius:999px}.nav a:hover,.nav a.active{color:var(--accent-strong);background:#dcd9b2a6}.user-chip{min-width:150px;text-align:right;color:var(--muted);font-size:14px}main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:26px 0 52px}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:stretch;min-height:calc(100vh - 170px)}.hero-copy{position:relative;display:flex;flex-direction:column;justify-content:center;padding:48px;color:var(--ink);background:radial-gradient(circle at 80% 18%,#8fa06957,transparent 16rem),linear-gradient(135deg,#fffcf1f5,#eee8cde6);border:1px solid #847e533d;border-radius:34px 8px 42px 8px;box-shadow:var(--shadow);overflow:hidden}.hero-copy:before{content:"";position:absolute;right:34px;top:34px;width:112px;height:112px;background:radial-gradient(circle at 68% 65%,#ffffffbf 0 7%,transparent 8%),linear-gradient(145deg,#f7eed3 0 54%,#2d6a36 55%);border-radius:56% 44% 58% 42%/48% 46% 54% 52%;transform:rotate(-14deg)}.hero-copy:after{content:"";position:absolute;right:72px;top:56px;width:24px;height:56px;border-radius:80% 0 80% 0;background:linear-gradient(135deg,#9cb46c,#2f6f35);box-shadow:25px 16px 0 -2px #7e9f57,-14px 36px 0 -2px #2e7438;transform:rotate(10deg)}.eyebrow{margin:0 0 12px;font-weight:800;color:#6b5f38}h1{margin:0 0 18px;font-size:clamp(40px,7vw,84px);line-height:1;letter-spacing:0;color:var(--accent-strong)}h2,h3{margin:0 0 14px;color:var(--accent-strong)}p{line-height:1.72}.hero-actions,.toolbar,.row-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.primary,.secondary,.danger,.ghost,.quick-grid button{min-height:42px;padding:10px 16px;border-radius:999px;font-weight:800}.primary{color:#fffaf0;background:linear-gradient(#356e3d,#1f5328)}.primary:hover{background:var(--accent-strong)}.secondary{color:var(--accent-strong);background:#fffaf0b8;border:1px solid var(--line)}.danger{color:white;background:var(--rose)}.ghost{color:var(--accent);background:transparent;border:1px solid var(--accent)}.hero-panel,.panel,.card{background:#fffaf0e0;border:1px solid #7e774e3b;border-radius:22px 8px 22px 8px;box-shadow:var(--shadow);padding:20px}.panel{margin-bottom:16px}.flow-list{display:grid;gap:14px;padding-left:20px}.flow-list li span{display:block;color:var(--muted);margin-top:4px}.quick-grid,.card-grid,.admin-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:20px}.quick-grid button{background:#fffaf0db;border:1px solid #7e774e3b;text-align:left;color:var(--accent-strong)}.page-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:18px}.page-head p{margin:0;color:var(--muted)}.card h3{margin-bottom:8px}.meta,.hint,.status{color:var(--muted);font-size:14px}.status{display:inline-flex;gap:6px;padding:4px 9px;border-radius:999px;background:#dcd9b28c}.status.live{color:#185529;background:#e3ead2}.status.off{color:#7b5d17;background:#f7edc6}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}label{display:grid;gap:6px;color:var(--ink);font-weight:800}input,select,textarea{width:100%;padding:10px 11px;color:var(--ink);background:#fffdf5;border:1px solid var(--line);border-radius:14px}textarea{min-height:88px;resize:vertical}.full{grid-column:1/-1}table{width:100%;border-collapse:collapse;overflow:hidden}th,td{padding:11px 9px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:var(--muted);font-size:13px}.tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.tab{padding:9px 12px;color:var(--muted);background:#fffaf0db;border:1px solid var(--line);border-radius:999px}.tab.active{color:white;background:var(--accent);border-color:var(--accent)}.shop-image{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px 8px;background:#e7e4cf}.price{color:var(--gold);font-size:20px;font-weight:900}.toast{position:fixed;right:18px;bottom:18px;z-index:10;max-width:min(420px,calc(100% - 36px));padding:13px 15px;color:white;background:#254526;border-radius:16px;box-shadow:var(--shadow);opacity:0;transform:translateY(10px);pointer-events:none;transition:.18s}.toast.show{opacity:1;transform:translateY(0)}@media(max-width:880px){.topbar{grid-template-columns:1fr}.user-chip{text-align:left}.hero,.form-grid{grid-template-columns:1fr}.quick-grid,.card-grid,.admin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){main{width:min(100% - 22px,1180px);padding-top:16px}.hero-copy{padding:30px 20px 130px}.quick-grid,.card-grid,.admin-grid{grid-template-columns:1fr}}.entry-image{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:16px 8px;margin:0 0 12px;background:#e7e4cf}.quick-grid button{display:grid;align-content:start;gap:8px;overflow:hidden;padding:10px}.quick-grid .entry-image{margin:0}.entry-hero{width:100%;max-height:420px;object-fit:cover;border-radius:22px 8px;margin-bottom:16px}.service-editor{margin-bottom:14px}.service-editor summary{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;cursor:pointer;list-style:none}.service-editor summary::-webkit-details-marker{display:none}.service-editor small{display:block;color:var(--muted);font-size:14px;margin-top:4px}.summary-button{pointer-events:none}.service-edit-form{margin-top:16px}
.product-summary{display:flex;gap:12px;align-items:center}.admin-thumb{width:70px;height:54px;object-fit:cover;border-radius:12px 6px;background:#e7e4cf;flex:0 0 auto}
.service-image-field{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:16px 8px;background:#fffdf5}.service-image-preview{width:min(420px,100%);aspect-ratio:16/9;object-fit:cover;border-radius:16px 8px;background:#e7e4cf;border:1px solid var(--line)}.upload-button{position:relative;overflow:hidden;display:inline-flex;align-items:center;width:fit-content}.upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}
button:disabled{cursor:not-allowed;opacity:.58;filter:saturate(.72)}
.confirm-box{padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:#fffdf5}.confirm-box p{margin-top:0}.check-line{display:flex;grid-template-columns:none;gap:8px;align-items:flex-start;font-weight:700}.check-line input{width:auto;margin-top:6px}.order-form-wrap{margin-top:14px}
.fee-input{min-width:90px}
.result-warning{margin:18px 0;padding:14px 16px;border:1px solid #d8c88a;border-left:5px solid var(--gold);border-radius:16px 8px;background:#fff8df}.result-warning h3{margin-bottom:6px;color:#6b5f38}.result-warning p{margin:6px 0;color:#4f553e}
.result-identity{position:relative;overflow:hidden}.result-watermark{font-weight:900;color:#285f31;font-size:18px;letter-spacing:0}.result-identity:after{content:"e起學｜易馳老師官方解析";position:absolute;right:12px;bottom:8px;color:#285f3118;font-size:28px;font-weight:900;pointer-events:none}
.protected-result{position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.protected-result:before{content:"e起學｜易馳老師原創解析內容";position:absolute;left:50%;top:50%;z-index:0;color:#285f310f;font-size:clamp(34px,8vw,86px);font-weight:900;line-height:1.2;text-align:center;transform:translate(-50%,-50%) rotate(-18deg);pointer-events:none;white-space:nowrap}.protected-result>*{position:relative;z-index:1}.input-summary{margin:14px 0;padding:12px 14px;border:1px solid var(--line);border-radius:16px 8px;background:#fffdf5}.input-summary p{margin:4px 0}.analysis-grid{display:grid;gap:12px;margin:16px 0}.analysis-section{padding:14px 16px;border:1px solid #d9d2b5;background:#fffdf5;border-radius:16px 8px}.analysis-section h3{font-size:18px;margin-bottom:8px}.analysis-section p{margin:0}.result-actions{margin-top:18px}
.marketing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.marketing-card textarea{min-height:260px;line-height:1.65;background:#fffdf5}@media(max-width:880px){.marketing-grid{grid-template-columns:1fr}}
.coin-balance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0}.coin-balance-grid article{display:grid;gap:5px;align-content:start;padding:13px 14px;background:#fffdf5;border:1px solid var(--line);border-radius:16px 8px}.coin-balance-grid strong{color:var(--accent-strong);line-height:1.35}.coin-balance-grid span{color:var(--muted);font-size:13px;line-height:1.55}.coin-balance-grid .coin-total{background:#eef1d9;border-color:#b9c18d}
.teacher-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,.78fr);gap:24px;align-items:stretch;min-height:calc(100vh - 130px);padding:28px;background:linear-gradient(135deg,#fffaf0f6,#eef1d9ea);border:1px solid #7e774e3b;border-radius:30px 8px 30px 8px;box-shadow:var(--shadow);overflow:hidden}.teacher-hero-copy{display:flex;flex-direction:column;justify-content:center;min-width:0}.teacher-hero-copy h1{font-size:clamp(46px,6vw,78px);max-width:760px}.teacher-hero-subtitle{max-width:720px;margin:0 0 14px;color:#5c604d;font-size:20px;font-weight:900}.teacher-hero-story{padding:18px 20px;background:#fffdf6d9;border:1px solid var(--line);border-radius:20px 8px;color:#384533;line-height:1.78;box-shadow:0 12px 28px #28402014}.teacher-hero-media{position:relative;display:grid;align-items:end;min-height:520px}.teacher-main-photo{width:100%;height:100%;min-height:520px;object-fit:cover;object-position:center top;border-radius:28px 8px 28px 8px;border:1px solid var(--line);box-shadow:0 18px 42px #2840202b}.teacher-small-photos{position:absolute;left:18px;bottom:18px;display:grid;grid-template-columns:repeat(2,110px);gap:12px}.teacher-small-photos img,.teacher-small-photos .teacher-image-placeholder{width:110px;aspect-ratio:4/5;object-fit:cover;border-radius:18px 8px;border:2px solid #fffaf0;box-shadow:0 12px 28px #1a2a1829}.teacher-focus-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teacher-focus-grid article{display:grid;gap:7px;padding:16px 18px;background:#fffdf6;border:1px solid var(--line);border-radius:18px 8px;box-shadow:0 12px 26px #28402012}.teacher-focus-grid strong{color:var(--accent-strong);font-size:19px;line-height:1.35}.teacher-focus-grid span{color:#59624d;font-size:14px;line-height:1.65}.start-section{margin:24px 0;padding:24px;background:#fffaf0e6;border:1px solid #7e774e3b;border-radius:24px 8px;box-shadow:var(--shadow)}.start-head{display:flex;gap:18px;align-items:end;justify-content:space-between;margin-bottom:16px}.start-head h2{font-size:clamp(30px,4vw,48px);margin:0}.start-head p:last-child{max-width:520px;margin:0;color:var(--muted)}.start-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.start-grid button{display:grid;align-content:start;gap:8px;overflow:hidden;padding:12px;color:var(--accent-strong);text-align:left;background:#fffdf6;border:1px solid var(--line);border-radius:18px 8px;font-weight:800}.guide-hero{min-height:0;margin-top:24px}.guide-hero h2{font-size:clamp(30px,4vw,52px)}
.teacher-profile{margin:24px 0;padding:28px;background:linear-gradient(135deg,#fffaf0f2,#eef1d9e8);border:1px solid #7e774e3b;border-radius:28px 8px 28px 8px;box-shadow:var(--shadow)}
.teacher-profile-head{display:grid;grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);gap:22px;align-items:start;margin-bottom:18px}.teacher-profile-head h2{font-size:clamp(30px,4vw,50px);line-height:1.1}.teacher-profile-head p{margin:0}
.teacher-subtitle{max-width:360px;color:#59624d;font-weight:800;line-height:1.7}
.teacher-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.teacher-story-card{overflow:hidden;background:#fffdf6;border:1px solid var(--line);border-radius:18px 8px 18px 8px;box-shadow:0 14px 32px #28402017}.teacher-story-card img,.teacher-image-placeholder{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;background:#e7e4cf}.teacher-story-card div{padding:16px}.teacher-story-card h3{font-size:20px;line-height:1.35;margin-bottom:8px}.teacher-story-card p{margin:0;color:#59624d;font-size:15px;line-height:1.7}
.teacher-profile-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.teacher-full-story{margin-top:18px;padding:18px 20px;background:#fffdf6;border:1px solid var(--line);border-radius:18px 8px}.teacher-full-story p{margin:0;color:#43513b}
.teacher-image-placeholder{display:grid;place-items:center;min-height:220px;color:var(--muted);font-weight:800;border:1px dashed var(--line);border-radius:16px 8px}.teacher-admin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.teacher-admin-preview{aspect-ratio:4/5}.long-textarea{min-height:260px}
@media(max-width:880px){.coin-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-hero{grid-template-columns:1fr;min-height:0;padding:20px 16px}.teacher-hero-media{order:-1;min-height:420px}.teacher-main-photo{min-height:420px;max-height:560px}.teacher-focus-grid,.start-grid{grid-template-columns:1fr}.start-head{display:block}.teacher-profile{padding:22px 16px}.teacher-profile-head,.teacher-story-grid,.teacher-admin-grid{grid-template-columns:1fr}.teacher-profile-head h2{font-size:34px}.teacher-story-card{display:grid;grid-template-columns:minmax(120px,38%) minmax(0,1fr)}.teacher-story-card img,.teacher-story-card .teacher-image-placeholder{height:100%;min-height:210px;aspect-ratio:auto}.teacher-story-card div{padding:14px}}
@media(max-width:560px){.coin-balance-grid{grid-template-columns:1fr}.teacher-hero{padding:16px 12px;border-radius:24px 8px}.teacher-hero-copy h1{font-size:42px}.teacher-hero-subtitle{font-size:17px}.teacher-hero-story{padding:14px 16px;font-size:15px}.teacher-hero-media{min-height:360px}.teacher-main-photo{min-height:360px}.teacher-small-photos{left:12px;bottom:12px;grid-template-columns:repeat(2,86px);gap:8px}.teacher-small-photos img,.teacher-small-photos .teacher-image-placeholder{width:86px}.teacher-profile-actions .primary,.teacher-profile-actions .secondary{width:100%;justify-content:center;text-align:center}.teacher-profile{margin:18px 0}.teacher-story-card{display:block}.teacher-story-card img,.teacher-story-card .teacher-image-placeholder{aspect-ratio:4/5;height:auto}}
.smart-guide{background:linear-gradient(135deg,#fffdf6,#eef1d9)}.guide-form{display:grid;gap:12px}.guide-examples{display:flex;flex-wrap:wrap;gap:8px}.guide-result{margin-top:14px}.recommendation-box{padding:16px;background:#fffdf6;border:1px solid var(--line);border-radius:18px 8px}.compact-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:12px}.seo-intro p{max-width:920px}.tool-landing h1{font-size:clamp(34px,5vw,62px)}.faq-section details,.support-faq-grid details{padding:10px 0;border-bottom:1px solid var(--line)}.faq-section summary,.support-faq-grid summary{cursor:pointer;font-weight:900;color:var(--accent-strong)}.support-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.tool-stay-nudge{position:fixed;right:18px;bottom:18px;z-index:20;width:min(420px,calc(100% - 36px));padding:18px;background:#fffdf6;border:1px solid var(--line);border-radius:20px 8px;box-shadow:var(--shadow)}.tool-stay-nudge p{margin:0 0 10px}.nudge-close{position:absolute;top:8px;right:8px;width:30px;height:30px;border-radius:999px;color:var(--accent-strong);background:#e7e4cf}.check-line{display:flex;gap:9px;align-items:flex-start}.check-line input{width:auto;margin-top:3px}.support-faq-grid .panel{margin-bottom:0}@media(max-width:880px){.compact-grid,.support-faq-grid{grid-template-columns:1fr}}.user-chip{display:flex;justify-content:flex-end;align-items:center;gap:8px;flex-wrap:wrap}.user-chip .ghost{text-align:right}.admin-entry-button{white-space:nowrap}.admin-verify-backdrop{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:18px;background:#1b2a1fcc;backdrop-filter:blur(8px)}.admin-verify-dialog{position:relative;width:min(460px,100%);padding:24px;background:#fffdf6;border:1px solid var(--line);border-radius:22px 8px;box-shadow:0 24px 70px #10241466}.admin-verify-dialog h2{font-size:28px}.admin-verify-dialog .form-grid{grid-template-columns:1fr}@media(max-width:880px){.user-chip{justify-content:flex-start}.user-chip .ghost{text-align:left}}

[data-route],[data-href],[data-tool-open],[data-tool-submit],[data-tool-card],[data-admin-entry],[data-pass-request],[data-booking]{touch-action:manipulation;-webkit-tap-highlight-color:#285f312e;pointer-events:auto}.tool-entry-card{position:relative;cursor:pointer}.tool-entry-card .toolbar,.tool-entry-card button{position:relative;z-index:2}.hero-copy:before,.hero-copy:after,.protected-result:before,.result-identity:after{pointer-events:none}@media(max-width:880px){.tool-stay-nudge{right:10px;bottom:calc(82px + env(safe-area-inset-bottom));left:10px;z-index:25;width:auto;max-height:calc(100vh - 130px);overflow:auto}}
.version-badge{position:fixed;left:10px;bottom:10px;z-index:90;padding:5px 8px;color:#285f31;background:#fffdf6d9;border:1px solid #d9d2b5;border-radius:999px;font-size:11px;font-weight:800;line-height:1;pointer-events:none}
.brand-mark{color:transparent!important;background:radial-gradient(circle at 68% 65%,#ffffffbf 0 7%,transparent 8%),linear-gradient(145deg,#f7eed3 0 54%,#2d6a36 55%)!important;border-radius:56% 44% 58% 42%/48% 46% 54% 52%!important;transform:rotate(-14deg)!important}.brand-mark:before{content:""!important;display:block!important;position:absolute;left:16px;top:9px;width:13px;height:28px;border-radius:80% 0 80% 0;background:linear-gradient(135deg,#9cb46c,#2f6f35);box-shadow:25px 16px 0 -2px #7e9f57,-14px 36px 0 -2px #2e7438;transform:rotate(10deg)}.brand-mark:after{content:""!important;display:block!important;position:absolute;left:9px;right:6px;bottom:9px;height:13px;border-bottom:5px solid #1f6230;border-radius:0 0 90% 90%;transform:rotate(11deg)}
@media(max-width:880px){.desktop-admin-entry{display:inline-flex}.user-chip{display:grid;grid-template-columns:1fr auto;align-items:stretch;width:100%}.user-chip .ghost,.user-chip .admin-entry-button{min-height:38px;padding:8px 12px;text-align:center}.admin-entry-button{white-space:nowrap}}
.result-basis{margin:18px 0;padding:14px 16px;background:#fffdf5;border:1px solid var(--line);border-radius:16px 8px}.result-basis summary{cursor:pointer;color:var(--accent-strong);font-weight:900;touch-action:manipulation}.basis-content{padding-top:10px}.basis-list{display:grid;gap:8px;margin:10px 0 0;padding-left:20px}.basis-list li{line-height:1.65}@media(max-width:560px){.result-basis{padding:12px 13px}.result-basis summary{min-height:38px;display:flex;align-items:center}.basis-list{padding-left:18px}}
.nav button.desktop-admin-entry{flex:0 0 auto;padding:9px 10px;color:#58664d;text-decoration:none;border-radius:999px;background:transparent;font-weight:inherit;min-height:auto}.nav button.desktop-admin-entry:hover,.nav button.desktop-admin-entry.active{color:var(--accent-strong);background:#dcd9b2a6}
