:root{--font-chalk:"LXGW WenKai TC", "Kaiti TC", serif;--font-body:"Noto Sans TC", system-ui, sans-serif;--wall:#efe6d3;--paper:#fffdf5;--paper-warm:#fbf3d4;--paper-border:#cbbd9c;--paper-shadow:#d9ccae;--sticky:#f7df7a;--tape:#ecdeb4d9;--ink:#2a2a28;--ink-soft:#6a5d4d;--heading:#3a2a1a;--board:#2c4535;--board-ink:#23392b;--chalk:#f3f0e4;--chalk-dim:#f3f0e48c;--chalk-yellow:#f2d675;--chalk-yellow-shadow:#b89a3c;--chalk-pink:#f0a8a0;--chalk-blue:#9fd0ec;--chalk-orange:#f4b06b;--chalk-green:#a8dba0;--wood:#8a5a2e;--wood-dark:#6e4522;--wood-tray:#7a4e27;--cork:#c4955e;--pin-red:#d8544a;--pin-blue:#3f7fc4;--pin-gold:#e0a93a;--pin-teal:#4fae9e;--coin:#f2c33d;--coin-edge:#c89420;--coin-ink:#8a4b1c;--chest-lid:#8a4b1c;--chest-wood:#b5642a;--chest-inside:#5a3010;--cup:#d8544a;--cup-dark:#c8423a;--cup-rim-shadow:#a8372f;--stick-wood:#e8cf9a;--stick-wood-light:#f3dfae;--stick-edge:#c9a86a;--stick-ink:#5a3010;--camera-body:#f3eee2;--camera-edge:#cfc4aa;--camera-dark:#2f2f2d;--camera-lens-ring:#4b4b48;--camera-glass:#22384a;--camera-glass-light:#7fa6c2;--camera-button:#d8544a;--camera-button-shadow:#9e3a32;--camera-flash:#fdfbf3;--photo-frame:#fbf9f2;--film-dark:#2b2620;--gallery-paper:#efe6d3;--gallery-stripe:#e6d9bf;--gallery-wood-deep:#5a3818;--gallery-wood-deepest:#3a2410;--gallery-sign:#9a6634;--gallery-sign-light:#c48f58;--gallery-sign-ink:#2b1a0b;--gallery-string:#8a6a44;--gallery-frame-light:#a8703a;--gallery-frame:#6e4522;--gallery-frame-dark:#4e3016;--gallery-gold-light:#f6dc8a;--gallery-gold:#a9822f;--gallery-mat:#f3ead6;--gallery-glow:#ffe2a08c;--gallery-shade:#fff6dc;--gallery-shade-warm:#f4d898;--gallery-beadboard:#3d5a47;--gallery-beadboard-light:#4a6a55;--gallery-floor-far:#8a5a2e;--gallery-floor-near:#d6a46a;--gallery-plank:#5a3818;--gallery-rope:#a8372f;--gallery-rope-light:#d8544a;--slot-body:#c8423a;--slot-body-dark:#8e2f29;--slot-trim:#e0a93a;--slot-trim-dark:#a87a22;--slot-panel:#2b2620;--slot-reel:#fffdf5;--slot-bulb:#fde68a;--slot-bulb-off:#a8742a;--slot-lever:#c9ccd1;--slot-knob:#d8544a;--wheel-lilac:#c9b6ea;--wheel-rim:#8a5a2e;--wheel-rim-dark:#5a3818;--wheel-peg:#e0a93a;--wheel-ink:#23392b;--wheel-pointer:#d8544a;--claw-body:#e8668a;--claw-body-dark:#a83c5c;--claw-sign:#fbe2ea;--claw-wall:#fdeef3;--claw-wall-side:#f6cfdc;--claw-floor:#f0b3c7;--claw-chute:#3a2a30;--claw-metal:#c9ccd1;--claw-metal-dark:#8b9098;--claw-hub:#d8544a;--claw-button:#fff3c4;--claw-button-shadow:#b89a3c;--claw-go:#3f7fc4;--claw-go-shadow:#2a5a8e;--brick-sky:#7ec8f2;--brick-cloud:#fff;--brick-cloud-shade:#d6eefc;--brick-hill:#6cc06a;--brick-hill-far:#4e9a4c;--brick-grass:#5cb85c;--brick-grass-dark:#3f8f3f;--brick-dirt:#b8692e;--brick-dirt-line:#7a3f16;--brick-block:#f2b233;--brick-block-light:#ffd979;--brick-block-dark:#c47a1c;--brick-block-edge:#5a2e0e;--brick-block-mark:#fff6d0;--brick-used:#a0683a;--brick-used-light:#c08a58;--brick-used-dark:#7a4a22;--brick-bonus:#5b8de0;--brick-bonus-light:#a9c8ff;--brick-bonus-dark:#3b64b8;--brick-bonus-edge:#1c2f66;--brick-star:#fff6a8;--brick-hero-cap:#2bb3a3;--brick-hero-cap-dark:#1d7f74;--brick-hero-hair:#3b2414;--brick-hero-skin:#f5c79a;--brick-hero-eye:#2a2a28;--brick-hero-cheek:#e8907e;--brick-hero-shirt:#f2c33d;--brick-hero-pants:#3f5fc4;--brick-hero-shoe:#6e4522;--brick-wing:#fff;--brick-wing-shade:#cfe3f0;--brick-wing-edge:#3d4e5c;--brick-halo:#ffd84a;--brick-right:#2f7a35;--brick-right-bg:#c9ecc3;--brick-wrong:#b8621c;--brick-wrong-bg:#fbd9c0;--card-face:#fffdf5;--card-edge:#cbbd9c;--card-black:#2a2a28;--card-red:#c8423a;--card-back-0:#c8423a;--card-back-1:#3f6fae;--card-back-stripe:#ffffff38;--card-shadow:#00000059;--card-stack-shadow:#00000040;--chalk-press:#ffffff1f;--paper-rule:#6e96c84d;--paper-margin:#d65a5080;--marker-yellow:#fbe9a6;--stamp-red:#b8322a;--ink-faint:#8a8072;--badge-green:#dcefd9;--badge-green-ink:#1f6b3a;--line-green:#05873f;--radius:12px}body{font-family:var(--font-body);color:var(--ink);background-color:var(--wall);background-image:repeating-linear-gradient(90deg,#785a3209 0 2px,#0000 2px 120px);margin:0}.auth-stage{justify-content:center;align-items:center;min-height:100dvh;padding:48px 24px;display:flex}.auth-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,88px);width:100%;max-width:1080px;display:grid}.auth-intro{padding:44px 32px 64px;transform:rotate(-1deg)}.auth-eyebrow{letter-spacing:.08em;color:var(--ink-soft);margin:0 0 16px;font-size:13px;font-weight:700}.auth-intro .auth-eyebrow{color:var(--chalk-yellow)}.auth-intro h1{text-wrap:balance;margin:28px 0 20px;font-size:clamp(32px,3.6vw,46px);line-height:1.5}.auth-intro>p:not(.auth-eyebrow){font-size:18px;line-height:1.9}.auth-board-note{color:var(--chalk-yellow);border-bottom:2px dashed var(--chalk-dim);padding:24px 0 8px;font-size:22px;display:inline-block}.auth-chalk{background:var(--chalk);border-radius:3px;width:56px;height:8px;position:absolute;bottom:8px;right:24px;transform:rotate(-3deg)}.auth-card{border:1px solid var(--paper-border);width:100%;padding:36px}.auth-card--single{max-width:460px}.auth-tape{width:104px;top:-13px;left:50%;transform:translate(-50%)rotate(-4deg)}.auth-card h1,.auth-card h2{font:700 30px/1.4 var(--font-chalk);color:var(--heading);margin:0 0 10px}.auth-description{color:var(--ink-soft);margin:0 0 26px;font-size:14px;line-height:1.8}.auth-google{justify-content:center;width:100%;height:48px}.auth-divider{color:var(--ink-soft);align-items:center;gap:14px;margin:24px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--paper-border);flex:1;height:1px}.auth-fields{border:0;gap:20px;min-width:0;margin:0;padding:0;display:grid}.auth-field{gap:8px;display:grid}.auth-field label{font-size:14px;font-weight:600}.auth-field-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.auth-field input{width:100%;min-width:0;height:48px;font:16px var(--font-body);background:var(--paper);border:1px solid var(--paper-border);color:var(--ink);border-radius:8px;padding:0 13px;display:block}.auth-field input::placeholder{color:var(--ink-faint)}.auth-password{position:relative}.auth-password input{padding-right:66px}.auth-password>button{height:48px;position:absolute;top:0;right:10px}.auth-link{font:inherit;color:var(--board);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:4px 0;font-size:14px;font-weight:600;text-decoration:underline}.auth-submit{justify-content:center;align-items:center;width:100%;margin-top:4px;text-decoration:none;display:flex}.auth-switch{text-align:center;color:var(--ink-soft);margin:24px 0 0;font-size:14px}.auth-footnote{border-top:1px dashed var(--paper-border);color:var(--ink-soft);margin:24px 0 0;padding-top:16px;font-size:12px;line-height:1.8}.auth-message{border:1px solid var(--paper-border);background:var(--paper-warm);overflow-wrap:anywhere;border-radius:8px;padding:12px 14px;font-size:14px;line-height:1.8}.auth-error{color:var(--stamp-red)}.auth-success{color:var(--badge-green-ink);background:var(--badge-green)}.auth-card button:disabled,.auth-fields:disabled .auth-submit{cursor:not-allowed;opacity:.55}.auth-card :is(input,button,a):focus-visible{outline:3px solid var(--pin-teal);outline-offset:3px}@media (max-width:760px){.auth-stage{padding:32px 20px}.auth-layout{grid-template-columns:minmax(0,1fr);gap:32px;max-width:440px}.auth-intro{border-width:10px;padding:18px 24px 24px;transform:none}.auth-intro .auth-eyebrow{margin-bottom:8px;font-size:11px}.auth-intro h1{margin:0;font-size:28px}.auth-intro h1 br,.auth-intro>p:not(.auth-eyebrow),.auth-board-note{display:none}.auth-card{padding:28px 24px}}.public-stage{min-height:100dvh}.public-site{flex-direction:column;max-width:1120px;min-height:100dvh;margin:0 auto;padding:28px 32px;display:flex}.public-header{justify-content:space-between;align-items:center;gap:24px;padding-bottom:28px;display:flex}.public-brand{color:var(--heading);font:700 26px var(--font-chalk);white-space:nowrap;gap:3px;text-decoration:none;display:grid}.public-brand span{font:600 10px var(--font-body);letter-spacing:.18em;color:var(--ink-soft)}.public-nav{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:20px;display:flex}.public-nav a{color:var(--board);font-size:14px;text-decoration:none}.public-nav .btn-board{color:var(--chalk)}.public-content{flex:1;min-width:0}.public-hero{padding:48px 44px 56px}.public-eyebrow{letter-spacing:.1em;color:var(--ink-soft);margin:0 0 16px;font-size:12px;font-weight:700}.public-hero .public-eyebrow{color:var(--chalk-yellow)}.public-hero h1{text-wrap:balance;margin:0 0 22px;font-size:clamp(34px,5vw,58px);line-height:1.4}.public-hero>p:not(.public-eyebrow){max-width:620px;margin-bottom:28px;font-size:19px;line-height:1.9}.public-hero .btn-chalk{height:auto;min-height:56px;padding:12px 24px;font-size:21px;text-decoration:none}.public-section-heading{margin:44px 0 28px}.public-section-heading h2,.public-note h2,.public-contact h2{font:700 27px/1.5 var(--font-chalk);color:var(--heading);text-wrap:balance;margin:0}.public-feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.public-feature{padding:28px 24px 24px}.public-feature-number{font:700 32px var(--font-chalk);color:var(--wood)}.public-feature h3{font:700 22px/1.5 var(--font-chalk);color:var(--board);margin:12px 0}.public-feature p{color:var(--ink-soft);margin:0;font-size:15px;line-height:1.9}.public-note{border-left:4px solid var(--board);margin-top:32px;padding:30px 34px;line-height:1.9}.public-note h2{font-size:24px}.public-note ul{padding-left:22px}.public-note li+li{margin-top:8px}.public-note>p:last-child{margin-bottom:0}.public-content a:not(.btn-chalk),.public-footer a{color:var(--board);text-underline-offset:4px;overflow-wrap:anywhere}.public-contact{padding:42px 0 12px}.public-contact p{color:var(--ink-soft);line-height:1.9}.public-document{border:1px solid var(--paper-border);max-width:860px;margin:16px auto 0;padding:44px 56px;line-height:1.95}.public-tape{width:110px;top:-13px;left:50%;transform:translate(-50%)rotate(-3deg)}.public-document h1{font:700 36px/1.4 var(--font-chalk);color:var(--heading);margin:0 0 10px}.public-updated{color:var(--ink-soft);margin-bottom:28px;font-size:13px}.public-document h2{font:700 23px/1.5 var(--font-chalk);color:var(--board);margin:32px 0 14px}.public-document section p{margin:12px 0}.public-document ul{padding-left:24px}.public-document li+li{margin-top:8px}.public-footer{border-top:1px solid var(--paper-border);color:var(--ink-soft);margin-top:48px;padding-top:20px;font-size:13px;line-height:1.8}.public-footer p{margin:8px 0}.public-footer nav,.auth-policy-links{flex-wrap:wrap;gap:16px;display:flex}.auth-policy-links{justify-content:center;margin-top:16px;font-size:12px}.auth-policy-links a{color:var(--board);text-underline-offset:4px}.public-skip{z-index:60;background:var(--paper);color:var(--board);padding:12px;position:absolute;top:0;left:16px;transform:translateY(-150%)}.public-skip:focus{transform:translateY(0)}.public-site :is(a,button):focus-visible,.auth-policy-links a:focus-visible{outline:3px solid var(--pin-teal);outline-offset:4px;border-radius:2px}@media (max-width:760px){.public-site{padding:24px 20px}.public-header{flex-direction:column;align-items:flex-start;gap:20px}.public-nav{justify-content:flex-start;gap:12px 18px}.public-nav .btn-board{padding:0 14px}.public-hero{border-width:10px;padding:30px 22px 40px}.public-hero h1{font-size:clamp(29px,7vw,40px)}.public-hero>p:not(.public-eyebrow){font-size:17px}.public-hero .btn-chalk{padding:12px 16px;font-size:18px}.public-feature-grid{grid-template-columns:minmax(0,1fr);gap:24px}.public-section-heading h2{font-size:25px}.public-note{padding:24px}.public-document{padding:30px 24px}.public-document h1{font-size:32px}.public-document h2{font-size:21px}}.font-chalk{font-family:var(--font-chalk)}.page-title{font-family:var(--font-chalk);color:var(--heading);margin:0;font-size:36px;font-weight:700}.cork{background-color:var(--cork);background-image:radial-gradient(#5c381461 1px,#0000 1.6px),radial-gradient(#ffe8c447 1px,#0000 1.6px);background-position:0 0,3px 5px;background-size:7px 7px,11px 11px}.cork--sidebar{border-right:12px solid var(--wood);box-shadow:inset -2px 0 0 var(--wood-dark), inset 0 0 30px #502d0a59}.cork--framed{border:16px solid var(--wood);box-shadow:inset 0 0 0 2px var(--wood-dark), inset 0 0 40px #502d0a66, 0 12px 24px #462d1438;border-radius:8px}.chalkboard{box-sizing:border-box;border:16px solid var(--wood);background-color:var(--board);box-shadow:inset 0 0 0 2px var(--wood-dark), inset 0 0 50px #00000073, 0 12px 24px #462d1438;font-family:var(--font-chalk);color:var(--chalk);background-image:radial-gradient(60% 45% at 28% 22%,#ffffff12,#0000 70%),radial-gradient(50% 40% at 78% 72%,#ffffff0d,#0000 70%);border-radius:8px;position:relative}.chalk-text{color:var(--chalk);text-shadow:0 0 1px #ffffff80,0 0 6px #ffffff1f}.chalk-yellow{color:var(--chalk-yellow)}.chalk-line{background:var(--chalk);opacity:.92;border-radius:4px;box-shadow:0 0 5px #ffffff40}.chalk-tray{background:var(--wood-tray);border-radius:0 0 6px 6px;height:18px;margin:0 28px;position:relative;box-shadow:0 6px 10px #462d1440}.chalk-tray .stick{border-radius:4px;height:9px;position:absolute;top:3px}.chalk-tray .eraser{background:#b88a55;border-radius:3px;width:86px;height:22px;position:absolute;top:-8px;right:90px;box-shadow:inset 0 12px #34466b}.paper{background:var(--paper);border-radius:2px;position:relative;box-shadow:0 2px 3px #3c230a47}.sticky{background:var(--sticky)}.paper--warm{background:var(--paper-warm)}.tilt-l{transform:rotate(-1.5deg)}.tilt-r{transform:rotate(1deg)}.pin{background:var(--pin-red);border-radius:50%;width:12px;height:12px;margin-left:-6px;position:absolute;top:-5px;left:50%;box-shadow:inset -2px -2px #00000040,0 2px 2px #0000004d}.pin--md{width:16px;height:16px;margin-left:-8px;top:-7px}.pin--lg{width:22px;height:22px;margin-left:-11px;top:-8px}.tape{background:var(--tape);width:110px;height:28px;position:absolute}.tape-label{font-family:var(--font-chalk);letter-spacing:.15em;color:#5a3e20;background:#f6eccce0;align-self:flex-start;padding:2px 14px;font-size:16px;font-weight:700;transform:rotate(-2deg)}.margin-paper{background-color:var(--paper);background-image:linear-gradient(90deg, transparent 32px, var(--paper-margin) 32px, var(--paper-margin) 34px, transparent 34px);border-radius:2px;box-shadow:0 6px 14px #3c230a40}.lined-paper{background-color:var(--paper);background-image:linear-gradient(90deg,#0000 56px,#d65a5080 56px 58px,#0000 58px),repeating-linear-gradient(#0000 0 35px,#6e96c842 35px 36px);background-position:0 0,0 26px;line-height:36px;box-shadow:0 20px 44px #140a0061}.nav-card{background:var(--paper);min-height:46px;color:var(--ink);border-radius:2px;align-items:center;padding:0 16px;font-size:17px;text-decoration:none;display:flex;position:relative;box-shadow:0 2px 3px #3c230a47}.nav-card:nth-child(odd){transform:rotate(.5deg)}.nav-card:nth-child(2n){transform:rotate(-.5deg)}.nav-card[aria-current=page]{background:var(--sticky);font-weight:700;transform:rotate(-1.6deg)}.btn-tag{background:var(--paper);border:1.5px solid var(--paper-border);height:44px;box-shadow:0 2px 0 var(--paper-shadow);font-family:var(--font-body);color:var(--ink);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:0 16px;font-size:16px;display:inline-flex}.btn-tag--sm{height:40px;box-shadow:none;background:0 0;border-radius:8px;gap:6px;padding:0 12px;font-size:14px}.select-tag{background:var(--paper);border:1.5px solid var(--paper-border);height:44px;font:16px var(--font-body);color:var(--ink);border-radius:10px;padding:0 12px}.btn-chalk{border-radius:var(--radius);background:var(--chalk-yellow);color:#2a2a1a;height:56px;box-shadow:0 3px 0 var(--chalk-yellow-shadow);font-family:var(--font-chalk);cursor:pointer;border:0;align-items:center;gap:10px;padding:0 36px;font-size:23px;font-weight:700;display:inline-flex}.btn-chalk-outline{border-radius:var(--radius);height:56px;color:var(--chalk);font-family:var(--font-chalk);cursor:pointer;background:0 0;border:2px solid #f3f0e4cc;align-items:center;gap:8px;padding:0 28px;font-size:22px;display:inline-flex}.btn-chalk-ghost{border-radius:var(--radius);height:56px;color:var(--chalk);font-family:var(--font-chalk);cursor:pointer;background:0 0;border:2px dashed #f3f0e48c;align-items:center;gap:8px;padding:0 22px;font-size:20px;display:inline-flex}.btn-chalk:disabled,.btn-chalk-outline:disabled,.btn-chalk-ghost:disabled{opacity:.4;cursor:not-allowed}.chalk-segment{border:2px solid #f3f0e4bf;border-radius:999px;gap:4px;padding:4px;display:inline-flex}.chalk-segment button{height:44px;color:var(--chalk);font-family:var(--font-chalk);cursor:pointer;background:0 0;border:0;border-radius:999px;padding:0 28px;font-size:20px}.chalk-segment button[aria-pressed=true]{background:var(--chalk);color:var(--board-ink);font-weight:700}.btn-board{background:var(--board);height:50px;color:var(--chalk);font-family:var(--font-chalk);cursor:pointer;border:0;border-radius:10px;padding:0 34px;font-size:21px;font-weight:700;box-shadow:0 3px #1a2a20}.btn-board--sm{height:44px;font-family:var(--font-body);align-items:center;gap:8px;padding:0 18px;font-size:16px;display:inline-flex}.btn-line{background:var(--line-green);color:#fff;border-radius:999px;align-items:center;gap:10px;height:52px;padding:0 26px;font-size:18px;font-weight:700;text-decoration:none;display:inline-flex;box-shadow:0 3px #03632e}.board-sign{background:var(--board);color:var(--chalk);border:5px solid var(--wood);font-family:var(--font-chalk);letter-spacing:.3em;border-radius:4px;padding:8px 44px;font-size:30px;font-weight:700;position:relative;transform:rotate(-1deg);box-shadow:0 4px 6px #3c230a59}.board-sign .pin{margin-left:0;top:-12px}.board-sign .pin:first-child{left:18px}.board-sign .pin:nth-child(2){left:auto;right:18px}.badge-green{background:var(--badge-green);color:var(--badge-green-ink);border-radius:999px;padding:2px 8px;font-size:15px;font-weight:700}.stamp{color:var(--stamp-red);font-family:var(--font-body);border:1.5px solid;border-radius:999px;flex-shrink:0;padding:1px 8px;font-size:12px;font-weight:700;text-decoration:none;transform:rotate(-4deg)}.stamp--muted{color:var(--ink-soft)}:where(button,a,select,input):focus-visible{outline:3px solid var(--chalk-yellow);outline-offset:3px}
