:root{--ink:#1b201a;--ink-soft:#5b6453;--paper:#f1f3e9;--card:#fffef9;--mint:#65752e;--mint-dark:#485c22;--mint-pale:#edf4d1;--yellow:#e7f51a;--line:#d0d7c3;--shadow:0 12px 28px #2836190c}body{background:var(--paper)}:where(a,button,input,select,textarea,summary):focus-visible{outline-offset:3px;outline:3px solid #3268d7}.admin-app{background:#f1f3e9}.admin-sidebar{background:#191d19;border-right:1px solid #69743d;padding-top:24px}.admin-brand{gap:13px;padding-left:0}.brand-mark,.admin-brand .brand-mark{width:48px;height:48px;box-shadow:none;background:#efff00;border:0;border-radius:10px;flex:0 0 48px;padding:0;transform:none}.admin-brand strong{letter-spacing:.08em;color:#f6f8eb;font-size:21px}.admin-brand small{color:#b8c29f;letter-spacing:.08em;font-size:11px}.admin-nav .nav-caption{color:#b5c18e;letter-spacing:.18em;margin:22px 0 8px;font-size:11px!important}.admin-nav button{color:#d5dbc9;border-radius:4px;min-height:44px;transition:background .12s}.admin-nav button.active,.admin-nav button.active:hover{color:#191d19;box-shadow:none;background:#e7f51a}.admin-nav button:hover{box-shadow:none;color:#faffea;background:#30372b}.admin-nav button span{color:inherit}.admin-nav button b{color:inherit;background:#ffffff16}.admin-nav button.active b{background:#1b201a12}.admin-sidebar-note{background:#252c21;border:1px solid #4b5736;border-left:3px solid #dfee00;border-radius:4px}.admin-sidebar-note strong{color:#f1f5e8}.admin-sidebar-note p,.admin-sidebar-note>span,.back-to-student{color:#b9c5a5}.admin-main{max-width:1700px;padding-top:30px}.admin-topbar{border-bottom:1px solid #cbd3bd;margin-bottom:24px;padding-bottom:22px}.admin-topbar h1{letter-spacing:-.025em;font-size:clamp(24px,2.3vw,34px)}.admin-account{gap:10px}.admin-account .avatar{color:#485c22;background:#e7edcf}.admin-stats article,.admin-panel,.student-table-wrap,.account-create-form,.account-result-panel{border-color:#d0d7c3;border-radius:6px;box-shadow:0 3px 12px #28361906}.admin-stats article{border-top:3px solid #7d8d52}.admin-stats strong{color:#242d1c}.primary-button,.dark-button{color:#fff;box-shadow:none;background:#27351e;border-radius:4px}.primary-button:hover,.dark-button:hover{background:#425831}.admin-password-button{color:#405328;background:#edf1df;border-color:#bac6a5}.admin-signout{color:#7d3128}.admin-search input{background:#fffef9}.eyebrow,.section-kicker{color:#65714f}.login-brand>span{width:60px;height:60px;box-shadow:none;background:#efff00;border:0;border-radius:12px;flex:0 0 60px;padding:0}.login-brand strong{font-size:20px}.admin-login-shell,.student-loading-shell{background-color:#f0f2e7;background-image:linear-gradient(#333c1906 1px,#0000 1px),linear-gradient(90deg,#333c1906 1px,#0000 1px);background-size:28px 28px}.admin-login-card,.admin-access-card{background:#fffef9;border:1px solid #b4bea2;border-top:5px solid #dfee00;border-radius:6px;box-shadow:8px 8px #dce1cc}.login-heading p{color:#4c5b2f}.login-submit,.login-primary-link{color:#fff;box-shadow:none;background:#27351e;border-radius:4px}.login-submit:hover,.login-primary-link:hover{background:#425831}.admin-login-form input{border-color:#b4bea2}.admin-login-form input:focus{border-color:#617b35;box-shadow:0 0 0 3px #617b351c}.login-security-note{color:#53613b;background:#f0f3e5}.login-security-note>span{color:#354622;background:#dde5c6}.access-icon{color:#485c22;background:#edf4d1}.login-loader{border-color:#65752e #d7dec5 #d7dec5}.sidebar{background:#191d19;border-right:1px solid #69743d}.sidebar .brand strong{color:#f6f8eb}.sidebar .brand small{color:#b8c29f}.sidebar .nav-item{color:#d5dbc9}.sidebar .nav-item.active{color:#191d19;background:#e7f51a}.sidebar .nav-item:hover:not(.active){background:#30372b}.sidebar .nav-caption{color:#b5c18e}.hero-card{background-color:#20271c;border-color:#3d4930}.hero-copy h2 em{color:#e7f51a}.hand-label{color:#ecf4d6;border-color:#e7f51a}.hero-copy>p{color:#c6d0b4}.mobile-nav{border-bottom-color:#e7f51a}.mobile-nav button.active{color:#e7f51a}.parent-portal,.teacher-portal{padding-bottom:70px!important}.parent-portal>header,.teacher-portal>header{margin-top:8px}.parent-portal>header h1,.teacher-portal>header h1{margin:12px 0;font-size:32px;line-height:1.3}.parent-portal nav[aria-label=家長四大入口]{background:#fffef9;border:1px solid #ccd4bc;border-radius:5px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:8px;display:grid}.parent-portal nav[aria-label=家長四大入口] button{background:0 0;border:0;min-height:48px;font-weight:800}.parent-portal nav[aria-label=家長四大入口] button[aria-pressed=true]{background:#e7f51a}.parent-portal nav[aria-label=家長資料頁籤]{border-bottom:1px solid #ccd4bc;gap:8px;padding-bottom:10px}.parent-portal nav[aria-label=家長資料頁籤] button{font-size:14px}.parent-portal>label{max-width:480px;font-weight:700}.parent-portal>small{color:#64714f}@media (max-width:850px){.admin-main{padding:22px 16px 60px}.admin-sidebar{padding:18px 16px}.admin-brand{max-width:240px}.admin-sidebar .back-to-student{margin-top:16px;display:block;position:static;font-size:12px!important}.admin-sidebar .admin-nav{margin-top:18px}.admin-sidebar-note{display:none}.admin-topbar{flex-wrap:wrap;gap:20px}.admin-account{flex-wrap:wrap}.admin-app .admin-sidebar .admin-nav button{font-size:14px!important}.admin-brand strong{font-size:21px}.parent-portal,.teacher-portal{padding:14px 14px 100px!important}.parent-portal nav[aria-label=家長四大入口]{z-index:15;padding:8px 12px calc(8px + env(safe-area-inset-bottom));border:0;border-top:1px solid #a7b394;border-radius:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #1d30120f}.parent-portal nav[aria-label=家長資料頁籤]{flex-wrap:nowrap;overflow:auto}.parent-portal nav[aria-label=家長資料頁籤] button{flex:none}.parent-portal>header h1,.teacher-portal>header h1{font-size:27px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.public-web{color:#1b201a;background:#f7f7ef;min-height:100vh;line-height:1.8}.public-web>header,.public-web>footer{border-bottom:1px solid #cdd3bd;justify-content:space-between;align-items:center;gap:24px;padding:26px max(5%,50vw - 600px);display:flex}.public-web nav{flex-wrap:wrap;gap:22px;display:flex}.public-web a{color:inherit;text-underline-offset:5px}.public-brand{font-size:24px;font-weight:900;text-decoration:none}.public-brand small{letter-spacing:.1em;font:10px monospace;display:block}.public-web>main{max-width:1200px;min-height:60vh;margin:auto;padding:50px 24px 80px}.public-web h1,.web-document h1{overflow-wrap:anywhere;font-size:clamp(28px,4vw,48px);line-height:1.35}.public-web h2{font-size:24px}.web-kicker{letter-spacing:.12em;font:12px monospace}.web-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:30px;display:grid}.web-grid article{overflow-wrap:anywhere;background:#fffef9;border:1px solid #c7cfb6;border-top:4px solid #dfee00;min-width:0;padding:26px}.web-grid article>span,.web-grid time{color:#55623b;font-size:13px}.web-grid h2,.web-grid h3{margin:18px 0;font-size:23px;line-height:1.4}.web-grid p{white-space:pre-line;margin:14px 0!important}.web-pagination{gap:25px;margin-top:35px;display:flex}.web-document{max-width:900px}.web-summary{white-space:pre-line;overflow-wrap:anywhere;font-size:19px}.web-image{object-fit:contain;background:#f0f2e7;width:100%;height:auto;max-height:550px;display:block}.web-facts{border:1px solid #c7cfb6;grid-template-columns:1fr 1fr;margin:25px 0;display:grid}.web-facts>div{border-bottom:1px solid #d7dec9;min-width:0;padding:18px}.web-facts dt{color:#596741;font-size:12px;font-weight:800}.web-facts dd{white-space:pre-line;overflow-wrap:anywhere;margin:5px 0 0}.web-prose{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9}.web-notice,.trial-form{background:#fffef9;border:1px solid #c7cfb6;border-top:5px solid #dfee00;margin-top:40px;padding:28px}.trial-form fieldset{border:0;min-width:0;padding:0}.web-form-grid{grid-template-columns:1fr 1fr;gap:20px;display:grid}.web-form-grid label{gap:7px;display:grid}.web-form-grid input,.web-form-grid textarea{background:#fff;border:1px solid #a8b491;border-radius:3px;width:100%;min-width:0;padding:12px}.web-form-grid textarea{min-height:90px}.web-consent{margin:24px 0;font-size:14px;display:block}.web-consent input{margin-right:9px}.trial-form button{color:#fff;cursor:pointer;background:#26351d;border:0;min-height:48px;padding:13px 25px}.trial-form button:disabled{opacity:.5;cursor:wait}.trial-form [role=alert]{color:#972a21}.trial-form [role=status]{overflow-wrap:anywhere}.web-honeypot{width:1px;height:1px;left:-10000px;overflow:hidden;position:absolute!important}.web-preview{overflow-wrap:anywhere;background:#f7f7ef;border:2px dashed #73844e;margin-top:25px;padding:20px}.web-preview .web-document{color:#1b201a}.public-web>footer{color:#eef4db;background:#1b201a}@media (max-width:800px){.web-grid{grid-template-columns:1fr}.public-web>header,.public-web>footer{flex-direction:column;align-items:flex-start;gap:15px}.public-web nav{gap:18px}.public-web>main{padding:30px 18px 55px}.web-form-grid,.web-facts{grid-template-columns:1fr}.trial-form{padding:18px}.web-preview{padding:12px}.web-document h1{font-size:28px}}.events-hero{color:#f7f8ed;background:#20271c;border-top:7px solid #e7f51a;padding:50px;position:relative;overflow:hidden}.events-hero h1{max-width:780px;margin:30px 0;font-size:clamp(32px,5vw,62px)}.events-hero>p{color:#d8e1c4}.events-hero>a,.event-cta{background:#e7f51a;padding:12px 24px;font-weight:800;text-decoration:none;display:inline-block;color:#20271c!important}.events-number{float:right;color:#e7f51a;font-size:13px}.events-heading{justify-content:space-between;align-items:center;gap:16px;margin:50px 0 16px;display:flex}.events-heading>span{color:#64714f;font-size:13px}.events-grid article{border-top:0;padding:0}.event-art{color:#26351d;background:#e6eccd;align-content:space-between;min-height:210px;padding:24px;display:grid}.event-art b{letter-spacing:.08em;font-size:32px}.event-art span{font:11px monospace}.events-grid article:nth-child(3n+2) .event-art{background:#e7f51a}.events-grid article:nth-child(3n) .event-art{color:#f2f8dd;background:#25321e}.event-cover{object-fit:cover;width:100%;height:210px}.event-copy{padding:24px}.event-tag{color:#51602f;font-size:12px}.event-copy dl{grid-template-columns:40px 1fr;gap:6px;font-size:13px;display:grid}.event-copy dd{margin:0}.event-copy>a{margin-top:16px;font-weight:800;display:inline-block}.engagement-phone{background:#e8eee7;border:7px solid #273328;border-radius:28px;max-width:350px;margin:20px auto;padding:26px 18px}.engagement-bubble{white-space:pre-wrap;overflow-wrap:anywhere;color:#26351d;background:#fff;border-radius:12px;padding:18px}.engagement-question{border-bottom:1px solid #d0d7c3;gap:12px;padding:22px 0;display:grid}.engagement-question legend{padding-top:24px;font-weight:800}.engagement-rating{flex-wrap:wrap;gap:10px;display:flex}.engagement-rating label{cursor:pointer;background:#eff3e5;border:1px solid #b5c59b;align-items:center;gap:8px;padding:12px 16px;display:flex}.survey-thanks{text-align:center;padding:50px 20px}.survey-thanks>span{background:#e7f51a;border-radius:50%;place-items:center;width:64px;height:64px;font-size:32px;display:inline-grid}@media (max-width:600px){.events-hero{padding:26px 20px}.events-number{float:none}.events-heading{flex-direction:column;align-items:flex-start;gap:0}.engagement-rating{gap:6px}.engagement-rating label{padding:10px}.engagement-phone{width:100%}}.line-timeline{gap:14px;max-height:580px;margin:24px 0;padding:6px;display:grid;overflow:auto}.line-entry{overflow-wrap:anywhere;background:#eef1e5;border:1px solid #cbd6b7;border-radius:10px;margin-right:24px;padding:16px}.line-entry small{color:#59684b;font-size:12px}.line-entry p{white-space:pre-wrap;margin:10px 0 0}.line-outgoing{background:#f5facd;border-color:#becb77;margin-left:24px;margin-right:0}.line-timeline+div{margin-bottom:24px}@media (max-width:760px){.admin-app .admin-main{width:100%;min-width:0;margin-left:0;padding:22px 16px 60px}.admin-app .admin-sidebar{width:100%;height:auto;position:static}.admin-app .admin-nav{flex:none;max-width:100%}}
