:root{--ink:#27332f;--green:#315f50;--green2:#477b69;--cream:#f7f2e8;--paper:#fffdf8;--gold:#bd8b45;--line:#ded8cc;--danger:#a33d3d;--shadow:0 14px 40px rgba(44,55,50,.09)}*{box-sizing:border-box}html{font-size:18px}body{margin:0;color:var(--ink);background:linear-gradient(180deg,#f4efe4,#fbfaf6 45%);font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;line-height:1.65}.site-header{min-height:74px;padding:10px max(20px,calc((100% - 1120px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line)}.brand{display:flex;gap:12px;align-items:center;color:var(--ink);text-decoration:none;font-weight:700}.brand img{width:48px;height:48px;object-fit:contain}.page-shell{width:min(1120px,calc(100% - 32px));margin:38px auto 70px}.card{background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:20px;padding:32px;box-shadow:var(--shadow);margin-bottom:24px}.narrow{max-width:560px;margin-left:auto;margin-right:auto}.centered{text-align:center}.hero{padding:70px 28px}.hero h1,.activity-cover h1{font-size:clamp(2rem,6vw,3.4rem);margin:.2em 0}.eyebrow{color:var(--green2);font-weight:700;letter-spacing:.12em}.lead{font-size:1.1rem}.muted,small{color:#6e766f}.deadline{display:inline-block;background:var(--cream);border-radius:99px;padding:8px 16px;margin:12px 0 24px}.deadline.closed{background:#f7dfdf;color:var(--danger)}.stack-form{display:grid;gap:18px;text-align:left;margin-top:24px}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.form-grid .full{grid-column:1/-1}label{font-weight:700;display:grid;gap:6px}label.inline{display:flex;align-items:center;gap:8px}input,textarea,select{width:100%;font:inherit;border:2px solid #cfc9bc;border-radius:12px;padding:12px 14px;background:#fff;color:var(--ink)}input:focus,textarea:focus,select:focus{outline:3px solid rgba(71,123,105,.18);border-color:var(--green2)}button,.button{font:inherit;font-weight:700;border:0;border-radius:12px;padding:11px 18px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:var(--green);color:#fff}.secondary{background:#edf2ef;color:var(--green);border:1px solid #bed0c8}.danger{background:#f9e7e7;color:var(--danger)}.big{min-height:58px;font-size:1.12rem}.link-button{background:none;color:var(--green)}.button-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.notice{padding:14px 20px;border-radius:12px;margin-bottom:18px}.notice.success{background:#e3f3e9}.notice.error{background:#f8e4e4}.notice ul{margin:.3em 0}.status-icon{display:inline-grid;place-items:center;width:76px;height:76px;border-radius:50%;font-size:2.2rem;background:var(--cream)}.pin-input{text-align:center;font-size:2rem;letter-spacing:.45em;font-variant-numeric:tabular-nums}.work-header,.admin-heading{display:flex;justify-content:space-between;align-items:center;gap:22px;margin-bottom:20px}.work-header h1,.admin-heading h1{margin:.1em 0}.progress{height:10px;background:#e7e5df;border-radius:99px;margin:0 4px 16px;overflow:hidden}.progress div{height:100%;background:var(--gold);transition:width .25s}.question-card{min-height:480px;display:flex;flex-direction:column}.question-card[hidden]{display:none}.question-number{color:var(--green2);font-weight:700}.question-card h2{font-size:clamp(1.35rem,5vw,2rem);margin:.6em 0 1em}.required{font-size:.75rem;color:var(--danger);border:1px solid #d9a6a6;border-radius:6px;padding:2px 7px}.answer-input{font-size:1.1rem}.choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.choice{display:block}.choice input{position:absolute;opacity:0;pointer-events:none}.choice span{display:block;padding:16px;border:2px solid #ccd6d1;border-radius:14px;text-align:center}.choice input:checked+span{background:#e6f0eb;border-color:var(--green);color:var(--green);font-weight:700}.save-state{font-size:.85rem;color:#6d766f;min-height:1.5em;margin:10px 0}.question-nav{display:flex;justify-content:space-between;gap:12px;margin-top:auto}.question-nav button{min-width:130px}.summary{text-align:left;background:var(--cream);padding:20px;border-radius:14px;margin:24px 0}.summary div{border-top:1px solid #d8d0c2;padding-top:10px}.create-panel{margin-top:18px;padding:16px;border:1px dashed #bfb8aa;border-radius:14px}.create-panel summary{cursor:pointer;font-weight:700;color:var(--green)}.activity-row,.question-admin-list li{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid #ece8df}.activity-row small,.question-admin-list small{display:block}.share-url{margin-top:22px}.share-url input{margin-top:8px}.table-card{padding:0;overflow:hidden}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;min-width:900px}th,td{padding:14px;text-align:left;border-bottom:1px solid #e2ded5;vertical-align:top}th{background:var(--green);color:#fff}.inline-form{display:grid;gap:6px;min-width:220px}dt{font-weight:700}dd{margin:0 0 12px}footer{text-align:center;color:#737a73;padding:28px}.completion .button-row{margin-top:20px}
@media(max-width:720px){html{font-size:17px}.site-header{padding:8px 16px}.brand span{font-size:.95rem}.page-shell{width:min(100% - 20px,1120px);margin-top:18px}.card{padding:22px 18px;border-radius:16px}.form-grid{grid-template-columns:1fr}.work-header,.admin-heading{align-items:flex-start;flex-direction:column}.choice-grid{grid-template-columns:1fr}.question-card{min-height:calc(100vh - 210px)}.question-nav button{min-width:0;flex:1}.activity-row{align-items:flex-start;flex-direction:column}.button-row{width:100%}.button-row>*{flex:1}.hero{padding:48px 18px}}
