@import "https://fonts.googleapis.com/css2?family=Noto+Sans+TC:wght@400;500;600;700;800;900&display=swap";
:root{--paper:#f7f5eb;--card:#fffef9;--ink:#253e34;--muted:#68776b;--green:#35785d;--green-dark:#245440;--light-green:#e7eedb;--line:#dfe4d4;--peach:#f1be94;--yellow:#eebe56;--shadow:0 10px 28px #304c2d08;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Sans TC,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default;opacity:.48}a{color:inherit;text-decoration:none}button{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:4px;outline:3px solid #c7a149}h1,h2,h3,p{margin:0}h1,h2,h3{letter-spacing:-.045em;line-height:1.35}p{color:var(--muted)}img{max-width:100%}svg{flex-shrink:0}small{font-size:12px}button{background:0 0;border:none}input{border:1.5px solid var(--line);width:100%;color:var(--ink);background:#fcfcf6;border-radius:12px;padding:14px 16px;font-size:16px}input::placeholder{color:#8f988b}input[type=checkbox]{width:22px;height:22px;accent-color:var(--green)}.button{border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:10px;min-height:46px;padding:11px 19px;font-weight:700;line-height:1.5;transition:transform .16s,background .16s,box-shadow .16s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-2px)}.button:active:not(:disabled){transform:translateY(1px)}.button.primary{background:var(--green);color:#fff;box-shadow:0 4px 0 var(--green-dark)}.button.primary:hover:not(:disabled){background:#2c694f}.button.secondary{border-color:var(--line);background:#fffef9;box-shadow:0 3px #e0e4d6}.button.ghost{color:var(--green);background:0 0}.button.danger{color:#9c4f3d;background:#fae9e1;border-color:#edcec0}.button.large{min-height:56px;padding:15px 24px;font-size:16px}.button.full{width:100%}.icon-button{border:1px solid var(--line);background:var(--card);border-radius:50%;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.icon-button:hover{background:var(--light-green)}.pill{background:var(--light-green);color:var(--green-dark);white-space:nowrap;border-radius:100px;align-items:center;gap:6px;padding:6px 13px;font-size:12px;font-weight:600;display:inline-flex}.eyebrow{letter-spacing:.16em;color:var(--green);align-items:center;gap:8px;font-size:10px;font-weight:800;line-height:1.8;display:inline-flex}.status-dot{background:var(--green);border-radius:100%;width:7px;height:7px;box-shadow:0 0 0 4px #35785d12}.brand{letter-spacing:.04em;align-items:center;gap:11px;font-size:20px;font-weight:800;line-height:1.35;display:flex}.brand small{letter-spacing:.18em;margin-top:5px;font-size:8px;font-weight:600;display:block}.brand-symbol{background:var(--green);color:#faf8e8;border-radius:14px 14px 18px 18px;justify-content:center;align-items:center;width:42px;height:44px;display:flex;transform:rotate(-4deg)}.brand.small{gap:8px;font-size:16px}.brand.small .brand-symbol{border-radius:10px;width:32px;height:35px}.brand.small small{letter-spacing:.14em;font-size:7px}.site-nav{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:30px 0;display:flex}.teacher-entry{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:8px 0;font-size:13px;font-weight:600;display:flex}.back-link{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:inline-flex}.panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);padding:25px}.panel h2{margin:8px 0 12px;font-size:23px}.panel h3{margin-bottom:12px;font-size:19px}.panel>p{line-height:1.8}.tiny-note{text-align:center;margin-top:14px;font-size:11px;line-height:1.8}.field-label{margin:23px 0 8px;font-size:13px;font-weight:700;display:block}.error-notice{color:#92472d;background:#ffece4;border:1px solid #efc0a9;border-radius:12px;margin:14px 0;padding:12px 16px;font-size:14px}.loading-screen{flex-direction:column;justify-content:center;align-items:center;gap:17px;min-height:65vh;display:flex}.spin{animation:1s linear infinite spin}.round-icon{background:var(--light-green);width:50px;height:50px;color:var(--green);border-radius:17px;justify-content:center;align-items:center;display:inline-flex}.landing{background:radial-gradient(at 68% 28%,#eaf0df80,#0000 55%);max-width:1440px;margin:auto;padding:0 64px}.hero{grid-template-columns:.93fr 1.1fr;align-items:center;gap:0;max-width:1200px;min-height:510px;margin:25px auto 62px;display:grid}.hero-copy{z-index:1;padding:20px 0;position:relative}.hero h1{letter-spacing:-.065em;margin:23px 0 25px;font-size:clamp(40px,4.4vw,65px);font-weight:900;line-height:1.36}.hand-underline{color:var(--green);white-space:nowrap;position:relative}.hand-underline:after{content:"";background:var(--peach);z-index:-1;border-radius:50%;height:7px;position:absolute;bottom:-4px;left:2px;right:0;transform:rotate(-2deg)}.hero-description{letter-spacing:.01em;font-size:16px;line-height:1.95}.hero-actions{align-items:center;gap:12px;margin-top:32px;display:flex}.hero-meta{color:var(--muted);gap:22px;margin-top:25px;font-size:11px;display:flex}.hero-meta span{align-items:center;gap:6px;display:flex}.hero-visual{min-width:0;position:relative}.shop-illustration{z-index:1;width:110%;max-width:110%;margin-left:-4%;animation:.9s appear;position:relative}.hero-orbit{border:1px dashed #abbda265;border-radius:50%;width:83%;height:85%;position:absolute;top:8%;left:10%;transform:rotate(-16deg)}.orbit-two{width:65%;height:73%;top:15%;left:18%;transform:rotate(30deg)}.floating-note{z-index:2;color:var(--green-dark);background:#fffef9e8;border:1px solid #e3e7da;border-radius:12px;align-items:center;gap:9px;padding:11px 15px;font-size:11px;display:flex;position:absolute;box-shadow:0 8px 22px #53633908}.note-top{top:7%;right:0;transform:rotate(4deg)}.note-bottom{padding:13px 20px;bottom:1%;left:11%;transform:rotate(-3deg)}.note-bottom>span{font-size:25px}.note-bottom strong{font-size:12px;display:block}.note-bottom small{letter-spacing:.1em;margin-top:4px;font-size:7px;display:block}.journey-section{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding-top:24px}.section-heading{justify-content:space-between;align-items:center;margin:12px 0 26px;display:flex}.section-heading h2{margin-top:7px;font-size:25px}.journey-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.journey-card{border:1px solid var(--line);background:#fffef985;border-radius:19px;padding:22px;transition:transform .2s;position:relative}.journey-card:hover{transform:translateY(-4px)}.stage-number{color:#8b9a82;font-size:11px;position:absolute;top:17px;right:19px}.journey-icon{background:var(--light-green);border-radius:15px;justify-content:center;align-items:center;width:48px;height:48px;margin-bottom:16px;font-size:26px;display:inline-flex}.journey-card:nth-child(2) .journey-icon{background:#f5e6cf}.journey-card:nth-child(4) .journey-icon{background:#f8edd2}.journey-card h3{margin-bottom:8px;font-size:17px}.journey-card p{max-width:190px;min-height:44px;font-size:12px;line-height:1.8}.journey-card>small{letter-spacing:.12em;color:var(--green);margin-top:19px;font-size:8px;font-weight:700;display:block}.landing-footer{max-width:1200px;color:var(--muted);justify-content:space-between;gap:15px;margin:32px auto 0;padding:22px 0 28px;font-size:10px;display:flex}.setup-page{max-width:1280px;margin:auto;padding:0 48px}.setup-grid{grid-template-columns:1fr 1fr;align-items:center;gap:100px;padding:40px 20px 80px;display:grid}.setup-story h1{margin:18px 0;font-size:49px;font-weight:900;line-height:1.4}.setup-story p{font-size:16px;line-height:1.9}.setup-story img{width:360px;margin:12px 0 -10px}.setup-card{background:var(--card);border:1px solid var(--line);border-radius:30px;padding:38px;box-shadow:0 15px 45px #38543409}.setup-card h2{margin:15px 0 10px;font-size:27px}.setup-card>p{font-size:13px}.duration-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.option-tile{border:1.5px solid var(--line);text-align:left;background:var(--paper);border-radius:16px;padding:20px 16px;position:relative}.option-tile.selected{border-color:var(--green);background:var(--light-green)}.option-tile strong{font-size:28px;display:block}.option-tile strong small{font-size:12px;font-weight:500}.option-tile>span{color:var(--muted);margin-top:3px;font-size:11px;display:block}.option-tile>svg{color:var(--green);position:absolute;top:12px;right:12px}.toggle-row{justify-content:space-between;align-items:center;gap:20px;margin:25px 0 30px;display:flex}.toggle-row strong{font-size:13px;display:block}.toggle-row small{color:var(--muted);margin-top:4px;font-size:11px;display:block}.setup-card .setup-footnote{text-align:center;margin-top:19px;font-size:11px}.join-page{background:radial-gradient(at 50% 30%,#e8edda80,#0000 65%);min-height:100vh;padding:0 30px 30px}.join-page .site-nav{max-width:1100px}.join-card{background:var(--card);border:1px solid var(--line);text-align:center;border-radius:28px;max-width:440px;margin:50px auto 0;padding:50px 36px 30px;position:relative;box-shadow:0 20px 60px #244a2910}.join-mascot{width:96px;height:112px;position:absolute;top:-65px;left:calc(50% - 48px)}.join-mascot img{height:100%}.join-card>.eyebrow{margin-top:10px;font-size:8px}.join-card h1{margin:10px 0;font-size:31px}.join-card>p{font-size:13px}.join-card form{text-align:left}.join-card input:focus{border-color:var(--green)}.code-input{letter-spacing:.18em;text-transform:uppercase;font-weight:700}.code-input::placeholder{letter-spacing:0;font-weight:400}.avatar-picker{grid-template-columns:repeat(6,1fr);gap:7px;margin-bottom:25px;display:grid}.avatar-picker button{border:1.5px solid var(--line);background:var(--paper);border-radius:12px;min-height:46px;font-size:25px;position:relative}.avatar-picker button.selected{background:var(--light-green);border-color:var(--green)}.avatar-picker svg{background:var(--green);color:#fff;border-radius:50%;width:16px;height:16px;padding:2px;position:absolute;bottom:-4px;right:-3px}.join-leaves{text-align:center;letter-spacing:16px;opacity:.55;margin:25px auto;font-size:19px}.modal-backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#16312580;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--paper);border:1px solid #fff9;border-radius:26px;width:100%;max-width:780px;max-height:88dvh;padding:30px;position:relative;overflow:auto;box-shadow:0 20px 70px #0a231e40}.modal h2{margin-bottom:15px;padding-right:36px;font-size:26px}.modal>p{margin-bottom:16px;font-size:13px}.modal-close{position:absolute;top:16px;right:16px}.orders-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:20px;display:grid}.order-card{border:1px solid var(--line);text-align:left;background:#fffef9;border-radius:16px;overflow:hidden;box-shadow:0 4px #e5e7d759}.order-card header{border-bottom:1px dashed var(--line);align-items:center;gap:8px;padding:13px 13px 10px;display:flex}.order-avatar{background:#f5edda;border-radius:50%;justify-content:center;align-items:center;width:35px;height:35px;font-size:23px;display:flex}.order-card header strong{font-size:12px;display:block}.order-card header small{letter-spacing:.04em;color:var(--muted);font-size:8px;display:block}.count-tag{background:#f4dfb4;border-radius:7px;margin-left:auto;padding:3px 7px;font-size:12px;font-weight:800}.order-features{color:var(--muted);grid-template-columns:1fr;gap:6px;padding:12px 13px;font-size:10px;display:grid}.order-card footer{color:#636857;background:#efefe7;padding:8px 13px;font-size:11px;font-weight:700}.order-card footer.yes-label{background:var(--light-green);color:var(--green-dark)}.order-card.weighted{border-color:#d9ad53;box-shadow:0 4px #eab95235}.weight-bar{background:#f5edd8;border-radius:5px;height:24px;margin:0 12px 11px;position:relative;overflow:hidden}.weight-bar>span{background:#edd28b;height:100%;position:absolute}.weight-bar small{color:#695122;padding:3px 6px;font-size:10px;display:block;position:relative}.tree-diagram{text-align:center;width:100%;min-width:0}.tree-question{background:#e7efdf;border:1.5px solid #abc0a1;border-radius:11px;max-width:100%;margin:auto;padding:11px 14px;font-size:13px;font-weight:700;display:inline-block}.tree-branches{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:0;padding-top:18px;display:grid;position:relative}.tree-branches:before{content:"";border-top:1px solid #a5b799;border-left:1px solid #a5b799;border-right:1px solid #a5b799;width:50%;height:18px;position:absolute;top:8px;left:25%}.tree-branch{min-width:0;position:relative}.branch-label{background:var(--card);width:23px;color:var(--muted);margin:0 auto 8px;font-size:10px;display:block;position:relative}.tree-leaf{color:#5c6254;background:#f0efe6;border:1px solid #dedfcc;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;min-height:44px;padding:10px 6px;font-size:12px;line-height:1.5;display:flex}.tree-leaf.yes{color:#476440;background:#eef2dd;border-color:#c4cfab}.tree-leaf small{margin-top:5px;font-size:8px;font-weight:400}.tree-diagram .tree-diagram .tree-question{padding:8px 5px;font-size:10px}.tree-diagram .tree-diagram .tree-leaf{padding:7px 2px;font-size:9px}.tree-diagram .tree-diagram .tree-leaf small{font-size:7px}.compact .tree-question{padding:8px;font-size:11px}.compact .tree-branches{gap:6px}.path-active>.tree-leaf,.path-active>.tree-diagram>.tree-question{border-color:var(--green);box-shadow:0 0 0 2px #35785d28}.done-banner{background:#e9f0de;border:1px solid #b6ceb1;border-radius:16px;align-items:flex-start;gap:12px;margin:18px 0;padding:17px;animation:.3s appear;display:flex}.done-banner>span{background:var(--green);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:31px;height:31px;display:flex}.done-banner strong{font-size:14px}.done-banner p{color:#526b4c;margin-top:4px;font-size:12px;line-height:1.75}.help-list>div{gap:13px;margin:20px 0;display:flex}.help-list>div>span{font-size:26px}.help-list p{margin-top:6px;font-size:13px}.sound-toggle{min-width:38px;height:38px;color:var(--muted);justify-content:center;align-items:center;display:flex}.student-app{background:var(--paper);max-width:480px;min-height:100dvh;margin:auto;padding:0 20px 20px;position:relative}.student-topbar{align-items:center;gap:3px;padding:20px 0 17px;display:flex}.student-topbar .brand{margin-right:auto}.player-bar{background:#eeefdf;border:1px solid #e3e5d3;border-radius:14px;align-items:center;gap:10px;padding:11px 12px;display:flex}.player-avatar{background:#fffbed;border-radius:12px;justify-content:center;align-items:center;width:38px;height:38px;font-size:25px;display:flex}.player-bar>div{flex:1}.player-bar strong{align-items:center;gap:8px;font-size:12px;display:flex}.player-bar strong small{color:var(--muted);font-size:9px;font-weight:400}.xp-track{background:#dce1cb;border-radius:5px;width:100%;max-width:215px;height:5px;margin-top:7px;overflow:hidden}.xp-track span{background:var(--green);border-radius:5px;height:100%;transition:width .8s;display:block}.xp-count{color:#987227;align-items:center;gap:5px;font-size:11px;font-weight:700;display:flex}.mobile-stage-track{grid-template-columns:repeat(4,1fr);padding:19px 8px 12px;display:grid}.mobile-stage-track>div{color:#87917b;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.mobile-stage-track>div:after{content:"";border-top:2px dashed #d3dbc8;width:calc(100% - 46px);position:absolute;top:18px;left:calc(50% + 23px)}.mobile-stage-track>div:last-child:after{display:none}.mobile-stage-track>div>span{filter:grayscale(.8);opacity:.65;background:#e9ecdf;border:2px solid #e9ecdf;border-radius:50%;justify-content:center;align-items:center;width:37px;height:37px;font-size:20px;display:flex}.mobile-stage-track>div>small{font-size:10px}.mobile-stage-track>div.active>span{border-color:var(--green);filter:none;opacity:1;background:#e2edcf;box-shadow:0 0 0 4px #35785d0b}.mobile-stage-track>div.active small{color:var(--green);font-weight:800}.mobile-stage-track>div.complete>span{filter:none;opacity:1;background:#e2edcf}.connection-line{color:var(--muted);justify-content:space-between;align-items:center;padding:8px 2px 17px;font-size:10px;display:flex}.connection-line>span{align-items:center;gap:5px;display:flex}.student-stage-heading{padding:3px 0 22px}.student-stage-heading .eyebrow{font-size:8px}.student-stage-heading h1{margin:7px 0 8px;font-size:28px}.student-stage-heading p{font-size:12px}.student-content{animation:.35s appear}.student-content>.panel{margin-bottom:17px;padding:21px}.student-footer{color:#7a8973;text-align:center;padding:27px 0 10px;font-size:9px}.waiting-mission{text-align:center}.waiting-mission>.eyebrow{margin-top:8px;font-size:9px}.waiting-mission h1{margin:8px 0;font-size:30px}.waiting-mission>p{font-size:13px}.waiting-scene{margin:0 -18px;position:relative}.waiting-scene>img{width:100%}.waiting-bubble{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);white-space:nowrap;border-radius:100px;padding:7px 13px;font-size:10px;position:absolute;bottom:15px;left:50%;transform:translate(-50%)}.mission-brief{text-align:left;background:#f6f0df;border:1px solid #e5dcc4;border-radius:17px;align-items:center;gap:13px;margin:15px 0 18px;padding:16px;display:flex}.mission-brief>span{font-size:26px}.mission-brief strong{font-size:13px}.mission-brief p{margin-top:4px;font-size:12px;line-height:1.8}.waiting-friends{justify-content:center;align-items:center;margin:25px 0;display:flex}.waiting-friends>span{background:var(--card);border:2px solid var(--paper);border-radius:50%;justify-content:center;align-items:center;width:31px;height:31px;margin-left:-7px;font-size:19px;display:flex}.waiting-friends small{color:var(--muted);margin-left:10px;font-size:10px}.order-bag-button{border:1px solid var(--line);text-align:left;background:#fffdf4;border-radius:15px;align-items:center;gap:10px;width:100%;margin-bottom:17px;padding:13px 14px;display:flex;box-shadow:0 3px #e3e6d65c}.order-bag-button>span{font-size:28px}.order-bag-button>div{flex:1}.order-bag-button strong{font-size:13px;display:block}.order-bag-button small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.order-bag-button>svg{color:var(--green)}.draw-mission{text-align:center}.draw-mission p{margin:12px 0 23px;font-size:13px}.bag-illustration{margin:22px;font-size:95px;display:inline-block;position:relative}.bag-illustration>span{background:var(--green);color:#fff;border:4px solid var(--paper);border-radius:50%;justify-content:center;align-items:center;width:47px;height:47px;font-size:19px;font-weight:800;display:flex;position:absolute;bottom:0;right:-14px}.builder-step{color:var(--muted);border-bottom:1px dashed var(--line);justify-content:space-between;align-items:center;gap:10px;padding-bottom:17px;font-size:10px;display:flex}.builder-step>div{gap:4px;margin-left:auto;display:flex}.builder-step>div>span{background:#e4e7d9;border-radius:4px;width:16px;height:4px}.builder-step>div>span.active{background:var(--green)}.builder-step>small{font-size:10px}.builder-prompt{text-align:center;margin:22px 0}.builder-prompt>span{font-size:32px}.builder-prompt h2{margin:10px 0 9px;font-size:20px;line-height:1.5}.builder-prompt p{font-size:11px;line-height:1.8}.random-offer{color:var(--green);background:#ecf1df;border-radius:9px;justify-content:center;align-items:center;gap:6px;margin-bottom:12px;padding:8px;font-size:10px;display:flex}.feature-options{gap:9px;display:grid}.feature-option{border:1.5px solid var(--line);text-align:left;background:#fffef9;border-radius:12px;align-items:center;gap:12px;padding:12px;transition:all .15s;display:flex}.feature-option>span{width:34px;font-size:25px}.feature-option>div{flex:1}.feature-option strong{font-size:12px;display:block}.feature-option small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.feature-option.selected{border-color:var(--green);box-shadow:0 0 0 1px var(--green);background:#eef3e3}.feature-option>svg{color:var(--green)}.stop-branch{width:100%;color:var(--muted);border:1px dashed #cbd4be;border-radius:9px;margin-top:11px;padding:10px;font-size:10px;line-height:1.8}.stop-branch.selected{color:var(--green);background:#e9eddf}.builder-actions{gap:10px;margin-top:23px;display:flex}.builder-actions>.primary{flex:1}.builder-actions .button{font-size:12px}.your-tree>.eyebrow{font-size:8px}.your-tree h2{margin-bottom:22px;font-size:21px}.your-tree .tree-diagram{margin-top:6px}.your-tree>.button{margin-top:20px;font-size:11px}.practice-walk{background:#f4f2e7;border-radius:13px;padding:15px;font-size:11px}.practice-walk>p{align-items:center;gap:8px;margin-top:10px;font-size:10px;display:flex}.practice-walk>p>span{text-align:center;width:19px;height:19px;color:var(--green);background:#dfe8d1;border-radius:50%;line-height:19px}.practice-walk small{font-size:9px}.practice-result{background:var(--light-green);color:var(--green);border-radius:8px;margin:10px 0;padding:9px;font-size:11px}.observation .order-card{margin-top:17px}.observation .order-features{grid-template-columns:1fr 1fr}.vote-meter{background:#e5dfcd;border-radius:6px;height:16px;margin:18px 0 8px;overflow:hidden}.vote-meter>span{background:var(--green);height:100%;transition:width 1s;display:block}.vote-labels{justify-content:space-between;font-size:11px;display:flex}.vote-labels>strong{color:var(--green)}.boost-rounds{justify-content:space-between;margin:4px 0 20px;display:flex}.boost-rounds>div{flex:1;align-items:center;gap:7px;display:flex;position:relative}.boost-rounds>div>span{background:#e8e8dc;border-radius:50%;justify-content:center;align-items:center;width:27px;height:27px;font-size:12px;font-weight:700;display:flex}.boost-rounds small{font-size:9px}.boost-rounds>div>svg{color:#a5b099;width:12px;margin-left:auto;margin-right:8px}.boost-rounds>div.active>span{background:var(--green);color:#fff}.boost-rounds>div.active>small{color:var(--green);font-weight:800}.boost-rounds>div.complete>span{color:var(--green);background:#e1ebd4}.boost-choices>p{margin-bottom:18px;font-size:11px}.boost-choices h2{font-size:20px}.candidate-list{gap:11px;margin-bottom:22px;display:grid}.candidate{border:1.5px solid var(--line);background:var(--card);border-radius:13px;overflow:hidden}.candidate.selected{border-color:var(--green);background:#eff3e8}.candidate.winner{background:#f8f0d8;border-color:#bd9742}.candidate-main{text-align:left;align-items:center;gap:10px;width:100%;min-height:72px;padding:13px;display:flex}.candidate-main:disabled{opacity:1}.candidate-main>div{flex:1}.candidate-icon{font-size:26px}.candidate-main strong{font-size:12px;display:block}.candidate-main small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.candidate-main>svg{color:var(--green)}.candidate-detail{width:100%;color:var(--green);background:#dce5d333;justify-content:center;align-items:center;min-height:33px;padding:6px;font-size:10px;display:flex}.candidate>.tree-diagram{padding:14px}.selected-helper{color:#7a6225;background:#f2dfae;justify-content:center;align-items:center;gap:5px;padding:9px;font-size:10px;display:flex}.boost-takeaway{background:#f6efd9;border-radius:12px;padding:15px}.boost-takeaway strong{font-size:13px}.boost-takeaway p{margin-top:6px;font-size:11px}.relay-team{justify-content:space-evenly;gap:10px;display:flex}.relay-team>div{flex-direction:column;align-items:center;gap:6px;display:flex}.relay-team>div>span{font-size:29px}.relay-team strong{font-size:11px}.relay-team small{color:var(--muted);font-size:9px}.final-mission{text-align:center}.final-art img{width:115px;margin:9px auto}.final-mission h1{margin:10px 0 13px;font-size:27px}.final-mission>p{margin-bottom:24px;font-size:12px;line-height:1.9}.final-mission>.panel{margin:18px 0}.final-mission>.panel>svg{color:var(--green)}.final-mission .panel h2{font-size:21px}.final-mission .panel>p{font-size:12px}.prediction-options{grid-template-columns:1fr 1fr;gap:11px;margin:18px 0;display:grid}.prediction-options .button{font-size:12px}.result-row{border-bottom:1px dashed var(--line);text-align:left;align-items:center;gap:13px;padding:17px 0;display:flex}.result-row:last-child{border-bottom:0}.result-icon{font-size:27px}.result-row>div{flex:1;min-width:0}.result-row strong{font-size:12px;display:block}.result-row small{color:var(--muted);font-size:9px}.result-row>b{white-space:nowrap;font-size:25px}.result-row>b>small{font-size:12px;font-weight:400}.result-bar{background:#e5e9db;border-radius:5px;height:6px;margin:7px 0 3px;overflow:hidden}.result-bar span{background:var(--green);border-radius:5px;height:100%;transition:width 1s;display:block}.reflection-mission>h1{margin:8px 0 12px;font-size:27px}.reflection-mission>p{margin-bottom:23px;font-size:12px}.quiz-card{position:relative;margin-bottom:17px!important}.quiz-number{color:var(--green);background:var(--light-green);border-radius:8px;padding:4px 8px;font-size:10px;font-weight:800}.quiz-card h2{margin:14px 0 18px;font-size:17px;line-height:1.6}.quiz-option{text-align:left;border:1.5px solid var(--line);border-radius:10px;align-items:center;gap:9px;width:100%;margin-top:9px;padding:13px 11px;font-size:12px;line-height:1.7;display:flex}.quiz-option>span{background:#eeefe5;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:10px;display:flex}.quiz-option.selected{border-color:var(--green);background:#edf2e1}.quiz-option.correct{border-color:var(--green);opacity:1;background:#e0eed2}.quiz-option:disabled:not(.correct){opacity:.65}.quiz-option>svg{margin-left:auto}.quiz-explanation{margin-top:15px;font-size:11px}.graduation{text-align:center;padding-top:10px}.graduation>img{width:145px;margin:10px auto 18px;display:block}.graduation>.eyebrow{font-size:8px}.graduation>h1{margin:12px 0;font-size:27px}.graduation>p{font-size:13px}.graduation-card{text-align:center;margin:25px 0}.graduation-card>svg{color:#a98831}.graduation-card h2{font-size:20px}.graduation-card p{margin:15px 0;font-size:12px;line-height:2.1}.confetti{color:#c4a852;letter-spacing:12px;font-size:22px}.student-app .modal{max-width:600px}.teacher-shell{max-width:1600px;margin:auto;padding:0 35px 30px}.teacher-header{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:18px;padding:22px 0;display:flex}.teacher-header .brand{margin-right:auto}.teacher-header .pill{font-size:12px}.teacher-layout{grid-template-columns:minmax(0,1fr) 290px;gap:25px;margin-top:24px;display:grid}.teacher-main{min-width:0}.teacher-sidebar{flex-direction:column;gap:17px;display:flex}.teacher-sidebar .panel{padding:21px}.teacher-sidebar h3{font-size:15px}.teacher-sidebar p{font-size:12px;line-height:1.9}.teacher-controls{flex-direction:column;gap:11px;display:flex}.teacher-controls .button{width:100%;font-size:13px}.teacher-stage-heading{margin:25px 0 23px}.teacher-stage-heading h1{margin:10px 0;font-size:34px}.teacher-stage-heading p{font-size:15px}.stage-rail{gap:7px;padding:3px 0 10px;display:flex;overflow-x:auto}.stage-rail>div,.stage-rail>span,.stage-rail>button{white-space:nowrap;color:#687760;background:#e9eddf;border-radius:11px;align-items:center;gap:7px;padding:9px 13px;font-size:11px;display:flex}.stage-rail .active{background:var(--green);color:#fff}.stats-grid{grid-template-columns:repeat(3,1fr);gap:13px;margin:18px 0;display:grid}.stat-card{border:1px solid var(--line);background:var(--card);border-radius:17px;padding:17px 19px}.stat-card strong,.stat-card b{font-size:29px;font-weight:800;display:block}.stat-card small,.stat-card>span{color:var(--muted);font-size:11px}.lobby-grid{grid-template-columns:1fr 1fr;align-items:center;gap:22px;display:grid}.qr-panel{text-align:center;padding:32px}.qr-panel h2{font-size:29px}.qr-panel>svg{background:#fff;border-radius:14px;max-width:100%;height:auto;margin:20px auto;padding:14px}.qr-panel .room-code,.room-code{letter-spacing:.18em;font-variant-numeric:tabular-nums;font-size:31px;font-weight:800}.qr-panel p{font-size:13px}.qr-panel input{margin-top:13px;font-size:12px}.roster{flex-wrap:wrap;align-content:flex-start;gap:9px;margin-top:15px;display:flex}.avatar-chip{border:1px solid var(--line);background:var(--card);border-radius:11px;align-items:center;gap:7px;padding:9px 12px;font-size:12px;display:inline-flex}.avatar-chip>span:first-child{font-size:22px}.avatar-chip small{color:var(--muted);font-size:9px}.mini-tree-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;display:grid}.tree-preview{border:1px solid var(--line);background:var(--card);border-radius:17px;min-width:0;padding:18px}.tree-preview>h3,.tree-preview>strong{margin-bottom:16px;font-size:13px;display:block}.progress-track{background:#e5e9db;border-radius:8px;height:9px;margin:12px 0;overflow:hidden}.progress-track>span,.progress-track>div{background:var(--green);border-radius:8px;height:100%;transition:width .4s;display:block}.teacher-main>.panel{margin-bottom:20px}.teacher-main .order-card{max-width:380px}.teacher-main .order-features{grid-template-columns:1fr 1fr;font-size:12px}.teacher-main .order-card header strong{font-size:16px}.teacher-main .order-card footer{font-size:14px}.teacher-main .result-row{padding:20px 0}.teacher-main .result-row small{font-size:11px}.teacher-main .result-row>b{font-size:32px}.teacher-main .results-list{margin-top:20px}.teacher-main .vote-labels{font-size:16px}.teacher-main .vote-meter{height:27px}.teacher-main .relay-team{padding:20px 0}.teacher-main .relay-team>div>span{font-size:40px}.teacher-main .relay-team strong{font-size:16px}.teacher-main .relay-team small{font-size:12px}.teacher-main .done-banner strong{font-size:18px}.teacher-main .done-banner p{font-size:14px}.teacher-main .mission-brief strong{font-size:17px}.teacher-main .mission-brief p{font-size:14px}.teacher-main .boost-rounds small{font-size:13px}.teacher-main .boost-rounds>div{justify-content:center}.teacher-main .boost-rounds>div>span{width:35px;height:35px}.display-only .teacher-layout{grid-template-columns:1fr}.display-only .teacher-main{width:100%;max-width:1200px;margin:auto}.display-only .teacher-stage-heading h1{font-size:45px}.display-only .teacher-stage-heading p{font-size:21px}.display-only .lobby-grid{min-height:60vh}.display-only .qr-panel>svg{width:320px}.display-only .avatar-chip{font-size:17px}.display-only .teacher-main .panel h2{font-size:30px}.display-only .teacher-main .panel>p{font-size:20px}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (min-width:700px){.student-app{border:1px solid var(--line);border-radius:29px;min-height:calc(100vh - 60px);margin:30px auto;padding:0 24px 20px;box-shadow:0 20px 70px #2343270b}.student-topbar{padding-top:25px}}@media (min-width:1600px){.landing{padding:0 90px}.hero{margin-top:50px;margin-bottom:85px}.hero h1{font-size:69px}}@media (max-width:1100px){.landing{padding:0 38px}.hero h1{font-size:47px}.hero{min-height:480px}.hero-actions{flex-wrap:wrap;gap:8px}.hero-actions>.ghost{padding-left:0}.hero-description{font-size:14px}.hero-meta{gap:13px;font-size:10px}.journey-card{padding:18px}.journey-card h3{font-size:15px}.setup-grid{gap:40px;padding:30px 0}.setup-story h1{font-size:42px}.setup-card{padding:28px}.teacher-shell{padding:0 22px 25px}.teacher-layout{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.lobby-grid{grid-template-columns:1fr}.teacher-stage-heading h1{font-size:30px}.teacher-header{gap:10px}.teacher-header .brand{font-size:17px}}@media (max-width:760px){.landing{padding:0 23px}.site-nav{padding:22px 0}.brand{font-size:17px}.brand-symbol{width:36px;height:38px}.brand small{font-size:7px}.teacher-entry{font-size:11px}.hero{grid-template-columns:1fr;gap:0;min-height:auto;margin:9px auto 29px}.hero-copy{text-align:center;padding-top:20px}.hero h1{margin:17px 0 19px;font-size:45px;line-height:1.38}.hero-description{font-size:13px;line-height:1.95}.desktop-break{display:none}.hero-actions{justify-content:center;gap:7px;margin-top:24px}.hero-actions .button.large{min-height:51px;padding:14px 22px;font-size:14px}.hero-actions .ghost{padding:10px;font-size:12px}.hero-meta{justify-content:center;gap:20px;margin-top:22px}.hero-visual{width:100%;max-width:440px;margin:12px auto 0}.shop-illustration{width:100%;max-width:100%;margin-left:0}.note-top{padding:8px 11px;font-size:9px;top:6%;right:1%}.note-bottom{padding:9px 14px;bottom:0;left:5%}.note-bottom strong{font-size:10px}.note-bottom small{font-size:6px}.section-heading{align-items:flex-end;gap:10px;margin-top:4px}.section-heading h2{max-width:230px;font-size:20px;line-height:1.5}.section-heading .eyebrow{font-size:8px}.section-heading .pill{padding:5px 8px;font-size:8px}.journey-grid{grid-template-columns:1fr 1fr;gap:11px}.journey-card{padding:18px 15px}.journey-icon{width:42px;height:42px;margin-bottom:12px;font-size:23px}.journey-card h3{font-size:14px}.journey-card p{min-height:38px;font-size:10px}.journey-card>small{margin-top:15px;font-size:7px}.stage-number{font-size:9px;top:12px;right:13px}.landing-footer{text-align:center;flex-direction:column;gap:8px;margin-top:17px;font-size:9px}.setup-page{padding:0 22px}.setup-grid{grid-template-columns:1fr;gap:20px;max-width:460px;margin:auto;padding:10px 0 35px}.setup-story{text-align:center}.setup-story h1{margin:13px 0;font-size:34px}.setup-story h1 br{display:none}.setup-story p{font-size:12px}.setup-story img{display:none}.setup-story .eyebrow{font-size:8px}.setup-card{padding:26px}.setup-card h2{font-size:25px}.join-page{padding:0 20px 22px}.join-page .site-nav .back-link{font-size:10px}.join-card{margin-top:62px;padding:48px 23px 26px}.join-card h1{font-size:28px}.join-card .eyebrow{font-size:7px}.join-leaves{margin-top:20px}.teacher-shell{padding:0 17px 22px}.teacher-header{gap:10px;padding:18px 0}.teacher-header .brand{width:100%;margin-bottom:6px}.teacher-layout{grid-template-columns:1fr;margin-top:16px}.teacher-sidebar{order:-1}.teacher-sidebar .panel{padding:16px}.teacher-controls{flex-flow:wrap;gap:8px}.teacher-controls>.button{flex:1;width:auto;min-width:100px;font-size:11px}.teacher-stage-heading h1{font-size:28px}.teacher-stage-heading p{font-size:13px}.stats-grid{gap:9px}.stat-card{padding:13px}.stat-card strong,.stat-card b{font-size:24px}.stat-card small{font-size:10px}.mini-tree-grid{grid-template-columns:1fr}.teacher-main .panel{padding:20px}.qr-panel{padding:23px}.stage-rail>div,.stage-rail>span{padding:7px 10px;font-size:10px}.modal-backdrop{padding:12px}.modal{border-radius:20px;padding:24px 18px}.modal h2{font-size:23px}.orders-grid{grid-template-columns:1fr 1fr;gap:10px}.order-card header{padding:10px 9px}.order-features{padding:10px;font-size:9px}.order-card header strong{font-size:11px}.order-avatar{width:28px;height:28px;font-size:20px}.order-card footer{padding:7px 10px;font-size:10px}.count-tag{padding:2px 5px;font-size:10px}.display-only .teacher-stage-heading h1{font-size:30px}.display-only .teacher-stage-heading p,.display-only .teacher-main .panel>p{font-size:15px}.display-only .teacher-main .panel h2{font-size:25px}}@media (max-width:360px){.student-app{padding-left:14px;padding-right:14px}.student-stage-heading h1{font-size:25px}.hero h1{font-size:39px}.hero-actions{flex-direction:column}.join-card{padding-left:18px;padding-right:18px}.avatar-picker{gap:4px}.avatar-picker button{font-size:23px}.orders-grid{gap:7px}.tree-diagram .tree-diagram .tree-question{font-size:9px}.tree-diagram .tree-diagram .tree-leaf small{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.teacher-stage-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.teacher-stage-heading>.stat-card{flex-shrink:0;min-width:155px;padding:14px 18px}.teacher-stage-heading>.stat-card>strong{font-size:28px}.teacher-header>div{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.qr-panel>strong{margin:9px 0;display:block}.qr-panel>a{word-break:break-all;color:var(--green);font-size:11px}.qr-panel form{text-align:left;border-top:1px dashed var(--line);margin-top:20px;padding-top:20px}.qr-panel form label{font-size:11px}.qr-panel form small{color:var(--muted);margin-top:10px;font-size:10px;display:block}.qr-panel form button{width:100%;margin-top:10px;font-size:12px}.teacher-main .results-list>.result-row{grid-template-columns:minmax(150px,1fr) 100px 1fr;gap:20px;display:grid}.teacher-main .results-list h3{margin:0 0 4px;font-size:17px}.teacher-main .result-row strong{font-size:23px}.teacher-main .result-row small{display:block}.teacher-main details{border-top:1px dashed var(--line);margin-top:20px;padding-top:14px}.teacher-main summary{cursor:pointer;color:var(--green);font-size:13px}.teacher-main article>h3{margin-top:16px}.teacher-main .panel>p{margin-top:12px}.teacher-stage-heading h1 .pill{vertical-align:middle;margin-left:12px}.no-split-note{background:var(--light-green);border-radius:10px;margin-bottom:12px;padding:12px;font-size:12px}.teacher-main .stats-grid:has(>.stat-card:nth-child(2):last-child){grid-template-columns:1fr 1fr}.teacher-main .stats-grid .stat-card>strong{font-size:24px}.teacher-main .teacher-controls{flex-direction:row}.teacher-main .teacher-controls>.button{flex:1;width:auto}@media (max-width:760px){.teacher-stage-heading{align-items:flex-start;gap:10px}.teacher-stage-heading>.stat-card{min-width:100px;max-width:120px;padding:12px}.teacher-stage-heading>.stat-card>strong{font-size:23px}.teacher-stage-heading>.stat-card>small{font-size:9px}.teacher-stage-heading h1{font-size:25px}.teacher-stage-heading h1 .pill{margin:8px 0 0}.teacher-main .results-list>.result-row{grid-template-columns:1fr 70px;gap:10px}.teacher-main .results-list>.result-row>.progress-track{grid-column:1/-1;margin:0}.teacher-main .results-list h3{font-size:14px}}.candidate-detail,.stop-branch,.sound-toggle,.icon-button{min-height:44px}.teacher-main>.lobby-grid{align-items:start}.lobby-grid>div:first-child{padding-top:20px}
