:root{--pine:#163e32;--deep:#12382d;--cream:#f6f4ed;--paper:#fffef9;--ink:#263e34;--muted:#7b8278;--gold:#d9b475;--red:#ae4638;--line:#e4e5da;--serif:Georgia,'Times New Roman',serif;--sans:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--ink);font:14px/1.5 var(--sans);-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:4px}input:focus,select:focus{outline:2px solid #587863;outline-offset:1px}h1,h2,h3,p{margin:0}svg{vertical-align:middle;flex-shrink:0}.loading{min-height:100vh;display:grid;place-content:center;text-align:center;gap:12px}.tree-mark{font-size:32px;color:var(--gold)}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:700}.muted{color:var(--muted)}.serif{font-family:var(--serif)}.btn{border:0;border-radius:8px;min-height:44px;padding:11px 18px;background:var(--pine);color:white;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}.btn:hover{background:#285140}.btn.secondary{background:var(--paper);border:1px solid var(--line);color:var(--ink)}.btn.secondary:hover{background:#edeee4}.btn.light{background:#faf8ec;color:var(--pine)}.btn.ghost{background:transparent;color:inherit;border:1px solid #ffffff30}.btn.small{font-size:12px;min-height:36px;padding:7px 11px}.link-btn{border:0;background:none;padding:5px 0;color:var(--pine);text-decoration:underline;text-underline-offset:4px}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:12px;font-weight:600}.field input,.field select{width:100%;height:46px;border:1px solid #d8ded2;border-radius:7px;padding:10px 12px;color:var(--ink);background:var(--paper)}.field input::placeholder{color:#9a9e94}.hint{color:var(--muted);font-size:12px;line-height:1.6}.wide{width:100%}.brand{display:flex;align-items:center;gap:12px}.brand img{width:39px;height:39px;border-radius:10px}.brand-title{font-family:var(--serif);font-size:19px;line-height:1.2}.brand small{font-size:9px;letter-spacing:2px;text-transform:uppercase;opacity:.58;display:block;margin-top:5px}.login-layout{min-height:100vh;display:grid;grid-template-columns:1.12fr 1fr}.login-story{background:var(--pine);color:var(--cream);position:relative;overflow:hidden;display:flex;flex-direction:column;padding:45px 9% 34px}.login-story .brand{position:relative;z-index:2}.login-story:before{content:'';position:absolute;width:550px;height:550px;border:1px solid #e6bd7314;border-radius:50%;left:-70px;top:190px;box-shadow:0 0 0 60px #e6bd7305,0 0 0 120px #e6bd7304}.story-copy{z-index:1;position:relative;margin:auto 0 0;padding-top:55px}.story-copy .eyebrow{color:var(--gold)}.story-copy h1{font:clamp(40px,4.4vw,64px)/1.08 var(--serif);letter-spacing:-2px;margin:18px 0 20px;max-width:500px}.story-copy h1 em{color:var(--gold);font-weight:400}.story-copy p{color:#cad7cb;max-width:290px;font-size:14px;line-height:1.8}.winter-scene{position:relative;height:245px;max-width:440px;margin-top:35px}.winter-scene .big-tree{position:absolute;width:220px;height:220px;left:calc(50% - 110px);bottom:4px;filter:drop-shadow(0 10px 20px #0d271c)}.snow{position:absolute;color:#d6e2ce70;font-size:12px;user-select:none}.snow.s1{left:8%;top:22px}.snow.s2{right:6%;top:85px;font-size:22px}.snow.s3{left:22%;bottom:50px}.snow.s4{right:20%;top:9px}.gift{position:absolute;width:52px;height:44px;background:var(--red);bottom:16px;left:14%;border-radius:3px}.gift:before{content:'';position:absolute;height:100%;width:8px;background:var(--gold);left:23px}.gift:after{content:'';position:absolute;background:#c26450;width:58px;height:10px;left:-3px;top:0;border-radius:2px}.gift.second{left:auto;right:11%;width:42px;height:34px;background:var(--gold);transform:rotate(7deg)}.gift.second:before{background:#f8ead1;left:17px}.gift.second:after{width:48px;background:#e8c48b}.story-footer{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#a6bcac;border-top:1px solid #ffffff15;padding-top:23px}.login-main{padding:45px;display:flex;align-items:center;justify-content:center;position:relative}.login-box{width:100%;max-width:354px}.login-box .tiny-icon{width:45px;height:45px;background:#e9eddf;border-radius:50%;display:grid;place-items:center;margin-bottom:22px}.login-box h2{font:36px var(--serif);letter-spacing:-1px;margin:9px 0 12px}.login-box>p{color:var(--muted);line-height:1.7;margin-bottom:28px}.login-box .btn{margin-top:4px}.secure-note{font-size:11px;color:var(--muted);display:flex;gap:7px;justify-content:center;margin-top:18px}.login-help{border-top:1px solid var(--line);margin-top:30px;padding-top:22px;font-size:12px;text-align:center;color:var(--muted)}.setup-switch{position:absolute;bottom:25px;text-align:center;font-size:12px;left:20px;right:20px}.setup-switch .link-btn{margin-left:4px}.app-shell{display:grid;grid-template-columns:224px minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:224px;padding:35px 22px 22px;background:var(--pine);color:#f4f3e5;display:flex;flex-direction:column;z-index:20}.sidebar .brand{gap:8px}.sidebar .brand-title{font-size:17px}.sidebar .brand img{width:36px;height:36px}.sidebar .nav-label{font-size:9px;letter-spacing:1.8px;color:#8ba799;margin:49px 14px 13px}.nav{display:flex;flex-direction:column;gap:7px}.nav button{border:0;background:transparent;color:#b8ccbe;display:flex;align-items:center;gap:11px;padding:13px;border-radius:7px;text-align:left;font-size:12px}.nav button:hover{background:#ffffff0a}.nav button.active{color:#fff9e8;background:#ffffff12;box-shadow:inset 2px 0 var(--gold)}.nav button.active svg{color:var(--gold)}.sidebar-note{border:1px solid #d9b47525;border-radius:8px;padding:19px 15px;margin:auto 0 28px;background:#ffffff03}.sidebar-note .star{color:var(--gold);font-size:19px}.sidebar-note h3{font:20px/1.25 var(--serif);margin:9px 0}.sidebar-note p{font-size:11px;color:#99b5a4;line-height:1.8}.sidebar-bottom{border-top:1px solid #ffffff15;padding:20px 3px 0;display:flex;gap:10px;align-items:center}.avatar{width:36px;height:36px;border-radius:50%;background:#e8e7d8;color:#335342;display:inline-flex;align-items:center;justify-content:center;font:15px var(--serif);flex-shrink:0}.avatar.c1{background:#ece2cf;color:#806134}.avatar.c2{background:#ead8d3;color:#954a41}.avatar.c3{background:#dde6dc;color:#46634f}.avatar.c4{background:#e8e3d9;color:#736651}.sidebar-bottom .avatar{background:#d4b77b;color:var(--pine);width:32px;height:32px;font-size:12px}.account-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:104px}.account-role{font-size:9px;color:#93ad9c;margin-top:3px}.icon-button{border:0;background:transparent;color:inherit;display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:5px}.icon-button:hover{background:#ffffff12}.sidebar-bottom .icon-button{margin-left:auto;color:#a8bdae}.main{grid-column:2;max-width:1560px;width:100%;margin:0 auto;padding:30px 45px 30px}.topbar{display:flex;align-items:center;justify-content:space-between;padding-bottom:23px;border-bottom:1px solid var(--line);gap:12px}.breadcrumb{color:#899087;font-size:11px;display:flex;gap:9px;align-items:center}.breadcrumb strong{font-weight:500;color:#4b6254}.top-actions{display:flex;gap:12px;align-items:center}.live-pill{border:1px solid #d7dfd1;border-radius:50px;font-size:10px;padding:6px 10px;color:#647d66;display:flex;gap:6px;align-items:center;white-space:nowrap}.live-dot{width:5px;height:5px;background:#6b8b65;border-radius:50%}.page-head{display:flex;align-items:end;justify-content:space-between;margin:34px 0 25px;gap:20px}.page-head .eyebrow{color:var(--red);font-size:9px;letter-spacing:1.8px}.page-head h1{font:39px/1.15 var(--serif);letter-spacing:-1px;margin:9px 0}.page-head p{color:#83897e;font-size:12px}.hero{background:var(--pine);color:#f9f6e9;border-radius:12px;display:flex;position:relative;overflow:hidden;padding:32px 34px;min-height:220px;align-items:center;justify-content:space-between}.hero .hero-copy{z-index:2;max-width:62%}.hero .eyebrow{color:#e0c494;font-size:9px}.hero h2{font:35px/1.16 var(--serif);letter-spacing:-.6px;margin:14px 0 12px}.hero h2 em{color:#dfbc7c;font-weight:400}.hero p{color:#a7c0ae;font-size:11px;max-width:330px;line-height:1.9}.hero .hero-tag{font-size:9px;display:inline-flex;align-items:center;gap:7px;margin-top:21px;color:#d5e0cd}.trophy-scene{width:240px;height:220px;position:absolute;right:20px;top:0;display:grid;place-items:center}.trophy-scene:before,.trophy-scene:after{content:'';position:absolute;border:1px solid #c9b77518;border-radius:50%;height:180px;width:180px}.trophy-scene:after{width:245px;height:245px}.trophy-scene svg{width:116px;height:144px;z-index:1;transform:rotate(-7deg);filter:drop-shadow(5px 12px 10px #061e1860)}.trophy-scene .sparkle{position:absolute;font-size:22px;color:#d9b475;z-index:2}.trophy-scene .sp1{top:36px;left:45px}.trophy-scene .sp2{bottom:31px;right:27px;font-size:14px}.trophy-scene .sp3{top:35px;right:20px;font-size:10px}.stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:18px 0 32px}.stat{background:#fffef8;border:1px solid var(--line);border-radius:8px;padding:18px 20px;display:flex;gap:13px;align-items:center}.stat-icon{background:#eef0e5;color:#627759;width:35px;height:35px;display:grid;place-items:center;border-radius:9px}.stat:nth-child(2) .stat-icon{background:#f3eade;color:#b3925c}.stat:nth-child(3) .stat-icon{background:#f0e2da;color:#a55f4b}.stat .label{font-size:10px;color:#8c9187}.stat strong{font:25px/1.2 var(--serif);display:block;margin-bottom:3px}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:12px}.section-title h2{font:22px var(--serif);letter-spacing:-.4px}.section-title p{font-size:10px;color:#979c90;margin-top:5px}.section-title .small-note{font-size:10px;color:#89917f;display:flex;align-items:center;gap:5px}.podium{display:grid;grid-template-columns:1fr 1.12fr 1fr;gap:12px;align-items:end;margin:28px 0 28px}.podium-card{border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:21px 12px 0;text-align:center;position:relative;min-height:173px}.podium-card.first{background:#f1eddf;border-color:#d8caa8;padding-top:23px;min-height:195px}.podium-card .place{position:absolute;left:50%;transform:translateX(-50%);top:-12px;border-radius:20px;min-width:52px;padding:2px 10px;font-size:9px;border:1px solid #e2e4da;background:#f0f0e9;color:#777f73}.podium-card.first .place{background:#d9b77b;border-color:#d9b77b;color:#fffdf5}.podium-card .avatar{width:43px;height:43px;font-size:18px;margin:5px 0 9px}.podium-card.first .avatar{width:49px;height:49px;background:#e2d3af;color:#6a542f}.podium-card h3{font-size:12px;font-weight:600;overflow-wrap:anywhere}.podium-card .points{font:30px var(--serif);margin:8px 0 0}.podium-card .points small{font:9px var(--sans);color:#999b8b;margin-left:4px}.podium-card .podium-footer{border-top:1px solid #dedfd34d;margin-top:15px;padding:7px 0;font-size:9px;color:#8c9583}.leader-grid{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:25px;align-items:start}.panel{background:var(--paper);border:1px solid var(--line);border-radius:9px;overflow:hidden}.table-head,.player-row{display:grid;grid-template-columns:38px minmax(0,1fr) 70px 72px;gap:9px;align-items:center;padding:14px 19px}.table-head{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#92998b;border-bottom:1px solid var(--line);background:#fafbf5}.player-row{border-bottom:1px solid #eeeee4;min-height:68px}.player-row:last-child{border-bottom:0}.player-row.me{background:#f1f4e8}.player-name{display:flex;align-items:center;gap:10px;min-width:0}.player-name strong{font-size:11px;font-weight:600;overflow-wrap:anywhere}.player-name small{display:block;font-size:9px;color:#949c8b;margin-top:3px}.player-name .avatar{width:31px;height:31px;font-size:12px}.rank{font:17px var(--serif);color:#8e9585}.rank.top-rank{color:#a58a54}.score{text-align:right;font:19px var(--serif)}.rounds{text-align:right;color:#8d9585;font-size:10px}.table-head .align-right{text-align:right}.you-tag{font-size:8px;background:#e1e7d4;border-radius:4px;padding:2px 5px;color:#648056;margin-left:4px}.aside-panel{border-radius:9px;background:#eaeedf;padding:23px 21px;border:1px solid #dfe5d4}.aside-panel>.eyebrow{font-size:8px;letter-spacing:1.5px;color:#728369}.aside-panel h3{font:23px/1.2 var(--serif);margin:12px 0 10px}.aside-panel p{font-size:11px;color:#7f8e75;line-height:1.9}.activity-list{padding:0 19px}.activity{display:flex;gap:11px;padding:16px 0;border-bottom:1px solid #eeeede}.activity:last-child{border:0}.activity-icon{width:30px;height:30px;border-radius:50%;background:#f0eee0;color:#9d895c;display:grid;place-items:center;flex-shrink:0}.activity-main{flex:1;min-width:0}.activity-main p{font-size:11px;overflow-wrap:anywhere}.activity-main strong{font-weight:600}.activity-main small{display:block;font-size:9px;color:#969d8d;margin-top:4px}.delta{font-size:11px;font-weight:600;color:#64815d;white-space:nowrap}.delta.negative{color:#ae5949}.activity-panel{margin-top:18px;padding-top:18px}.activity-panel h3{font:19px var(--serif);padding:0 19px 6px}.activity-panel .activity-list{padding:0 17px}.activity-panel .activity{gap:8px}.activity-panel .activity-icon{display:none}.activity-panel .activity-main p{font-size:10px}.activity-panel .activity-main small{font-size:8px}.activity-panel .delta{font-size:10px}.activity-more{font-size:10px;color:#75856c;display:block;text-align:center;width:100%;background:none;border:0;border-top:1px solid var(--line);padding:12px}.page-footer{border-top:1px solid var(--line);margin-top:30px;padding-top:19px;display:flex;justify-content:space-between;gap:15px;font-size:9px;color:#9da18f}.page-footer span:last-child{color:#8c967e}.empty{padding:42px 24px;text-align:center}.empty .empty-icon{display:grid;place-items:center;margin:0 auto 15px;background:#edf0e2;border-radius:50%;width:48px;height:48px;color:#798e6c}.empty h3{font:23px var(--serif);margin:8px 0}.empty p{font-size:12px;color:#8c9482;max-width:330px;margin:10px auto 18px}.empty .btn{font-size:12px}.admin-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:23px}.form-panel{padding:25px}.form-panel h2{font:24px var(--serif);margin-bottom:8px}.form-panel>p{color:#8a9382;font-size:12px;margin-bottom:24px}.form-panel .segmented{display:flex;background:#eeefe5;border:1px solid #e2e5d8;padding:4px;border-radius:7px;margin-bottom:22px;gap:4px}.segmented button{flex:1;border:0;background:transparent;padding:9px;border-radius:5px;color:#89937d;font-size:11px}.segmented button.active{background:#fffef7;box-shadow:0 1px 3px #23392112;color:var(--pine);font-weight:600}.row-two{display:grid;grid-template-columns:1fr 1fr;gap:16px}.total-preview{border:1px dashed #d2dac6;background:#f4f6ed;border-radius:7px;padding:14px;margin:0 0 20px;color:#7c8a70;font-size:12px}.total-preview strong{color:var(--pine);font:23px var(--serif);display:block;margin-bottom:3px}.manage-players{margin-top:24px}.manage-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:17px 21px;border-top:1px solid var(--line)}.manage-actions{display:flex;gap:7px}.manage-row .player-name strong{font-size:12px}.panel-title{padding:20px;font:22px var(--serif)}.code-warning{background:#f5eddb;color:#9a7743;border:1px solid #e7d9b8;padding:13px;border-radius:6px;font-size:11px;line-height:1.8;margin-bottom:17px}.history-toolbar{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-bottom:18px}.history-toolbar select{padding:10px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);min-height:44px}.history-info{color:var(--muted);font-size:11px}.demo-banner{background:#efe1bb;border-bottom:1px solid #dfcea3;color:#816b38;text-align:center;font-size:11px;padding:9px 20px;position:relative;z-index:25}.demo-banner button{color:#5b542e;text-decoration:underline;background:none;border:0;margin-left:8px}.connection-message{font-size:11px;border:1px solid #e2d2a7;background:#fff3db;padding:12px 16px;border-radius:7px;margin-bottom:15px;color:#9b7743}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%) translateY(90px);opacity:0;z-index:100;background:var(--pine);color:#fff8df;border:1px solid #416251;border-radius:9px;box-shadow:0 7px 30px #152e2a26;padding:14px 22px;max-width:calc(100% - 32px);width:max-content;transition:all .2s;font-size:12px;pointer-events:none}#toast.visible{transform:translateX(-50%) translateY(0);opacity:1}#toast.error{background:#863c32;border-color:#ae6a56}dialog{border:1px solid #e0e2d4;border-radius:13px;background:var(--paper);color:var(--ink);padding:29px;max-width:440px;width:calc(100% - 35px);box-shadow:0 24px 80px #102e2b40}dialog::backdrop{background:#0d2b26aa;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.dialog-head h2{font:28px var(--serif)}dialog p,dialog li{font-size:12px;color:#869079;line-height:1.9}dialog ol{padding-left:20px}dialog .field{margin-top:15px;margin-bottom:10px}dialog .credential{font-family:ui-monospace,monospace;font-size:17px;background:#f0f1e4;padding:12px;border:1px dashed #c8d3bb;border-radius:5px;overflow-wrap:anywhere;color:var(--pine);margin:12px 0}.dialog-actions{display:flex;gap:10px;margin-top:23px}.mobile-brand{display:none}.mobile-nav{display:none}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}
@media(min-width:1500px){.main{padding:35px 70px}.leader-grid{grid-template-columns:minmax(0,1fr) 305px}.hero{min-height:238px}.hero h2{font-size:41px}.trophy-scene{right:50px;transform:scale(1.1);top:10px}}
@media(max-width:1150px){.main{padding:25px 27px}.sidebar{width:202px;padding-left:17px;padding-right:17px}.app-shell{grid-template-columns:202px minmax(0,1fr)}.leader-grid{grid-template-columns:minmax(0,1fr) 235px;gap:18px}.hero h2{font-size:31px}.trophy-scene{right:2px;width:190px}.hero{padding:29px}.table-head,.player-row{padding-left:14px;padding-right:14px;grid-template-columns:28px minmax(0,1fr) 45px 52px}.stat{padding:16px 14px}.stat-icon{display:none}.stat strong{font-size:24px}.sidebar-note{padding:18px 12px}}
@media(max-width:950px){.leader-grid{grid-template-columns:1fr}.right-rail{display:grid;grid-template-columns:1fr 1fr;gap:18px}.activity-panel{margin:0}.login-story{padding:35px 10%}.login-main{padding:35px}.login-story h1{font-size:49px}.winter-scene{height:230px}.admin-layout{grid-template-columns:1fr}.hero .hero-copy{max-width:65%}.page-head h1{font-size:34px}}
@media(max-width:1100px), (horizontal-viewport-segments:2), (vertical-viewport-segments:2){.login-layout{grid-template-columns:1fr}.login-story{min-height:240px;padding:25px 26px}.login-story .brand-title{font-size:18px}.story-copy{padding-top:26px;margin:0;max-width:65%}.story-copy .eyebrow{font-size:8px}.login-story .story-copy h1{font-size:36px;letter-spacing:-1px;margin:12px 0 8px}.story-copy>p,.story-footer{display:none}.winter-scene{position:absolute;width:155px;height:170px;right:12px;bottom:9px;margin:0}.winter-scene .big-tree{width:145px;height:145px;left:10px}.winter-scene .gift{width:33px;height:29px;bottom:5px;left:5px}.winter-scene .gift:after{width:39px}.winter-scene .gift:before{left:12px}.winter-scene .gift.second{right:0;left:auto;width:28px;height:25px}.winter-scene .gift.second:after{width:34px}.winter-scene .gift.second:before{left:12px}.login-main{padding:34px 26px 73px;min-height:550px}.login-box h2{font-size:31px}.login-box .tiny-icon{display:none}.setup-switch{bottom:18px}.sidebar{display:none}.app-shell{display:block}.main{padding:22px 20px 86px}.topbar{padding-bottom:18px}.breadcrumb{display:none}.mobile-brand{display:flex}.mobile-brand .brand-title{font-size:16px}.mobile-brand img{width:30px;height:30px}.mobile-brand small{font-size:7px}.live-pill{font-size:9px;padding:6px 8px}.top-actions{gap:4px}.top-actions .btn{display:none}.mobile-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--paper);border-top:1px solid #dce1d1;padding:7px 7px calc(7px + env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{border:0;background:none;color:#8d9985;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:8px;padding:5px 8px;min-width:56px;min-height:44px}.mobile-nav button.active{color:var(--pine)}.page-head{margin:26px 0 20px}.page-head h1{font-size:33px}.page-head p{font-size:11px}.page-head .btn{font-size:10px;padding:9px 11px;min-height:38px}.page-head .btn svg{width:13px}.hero{min-height:211px;padding:25px 23px}.hero h2{font-size:29px}.hero .hero-copy{max-width:72%}.hero p{font-size:10px;max-width:225px}.hero .eyebrow{font-size:8px;letter-spacing:1.3px}.hero .hero-tag{font-size:8px;margin-top:16px}.trophy-scene{width:140px;right:-20px;top:25px}.trophy-scene svg{width:82px;height:104px}.trophy-scene:before{width:135px;height:135px}.trophy-scene:after{width:185px;height:185px}.trophy-scene .sp1{left:11px;top:44px;font-size:16px}.trophy-scene .sp2{right:25px;bottom:42px}.stats-row{gap:8px;margin:12px 0 26px}.stat{padding:14px 12px;border-radius:7px}.stat strong{font-size:23px}.stat .label{font-size:8px}.section-title h2{font-size:21px}.section-title .small-note{font-size:8px}.podium{gap:7px;grid-template-columns:1fr 1.1fr 1fr;margin-top:26px}.podium-card{padding:19px 7px 0;min-height:167px}.podium-card.first{min-height:184px}.podium-card .points{font-size:27px}.podium-card h3{font-size:10px}.podium-card .avatar{width:37px;height:37px}.podium-card.first .avatar{width:43px;height:43px}.podium-card .podium-footer{font-size:8px}.right-rail{grid-template-columns:1fr}.aside-panel{padding:21px}.aside-panel h3{font-size:24px}.activity-panel{margin-top:0}.table-head,.player-row{grid-template-columns:22px minmax(0,1fr) 44px 49px;padding:13px 13px;gap:8px}.player-name{gap:8px}.player-name strong{font-size:10px}.player-name .avatar{width:29px;height:29px}.page-footer{font-size:8px;flex-wrap:wrap;gap:6px}.form-panel{padding:20px}.manage-row{padding:15px 14px;flex-wrap:wrap}.manage-actions{margin-left:39px}.manage-actions .btn{font-size:10px}.history-toolbar select{max-width:160px;font-size:11px}.history-info{font-size:9px}.admin-layout{gap:18px}#toast{bottom:90px;font-size:11px}.history-toolbar{align-items:start}.demo-banner{font-size:9px}.row-two{gap:12px}.table-head{font-size:8px}.you-tag{font-size:7px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

/* Mobile is a primary layout, with larger text and controls for family use. */
.mobile-title,.mobile-spotlight,.mobile-admin-tabs{display:none}
.quick-points{display:flex;gap:10px;margin:-5px 0 22px}
.quick-points button{flex:1;min-height:44px;border:1px solid #d2ddc9;border-radius:10px;background:#edf2e6;color:var(--pine);font-size:15px;font-weight:650}
.quick-points button:active{background:#dce7d1}
.account-details{display:flex;align-items:center;gap:14px;background:#edf1e6;border-radius:12px;padding:18px;margin:22px 0}
.account-details strong{display:block;font-size:15px}
.account-details span{display:block;color:#64745c;font-size:12px;margin-top:3px}

@media(max-width:1100px), (horizontal-viewport-segments:2), (vertical-viewport-segments:2){
  html{scroll-padding-top:20px;scroll-padding-bottom:110px}
  body{font-size:15px;line-height:1.55;background:#f7f6ef}
  .app-shell,.main,.leader-grid,.admin-layout,.panel{min-width:0}
  .main{padding:18px 18px calc(100px + env(safe-area-inset-bottom));overflow-wrap:break-word}
  .topbar{padding-bottom:18px;gap:10px}
  .mobile-brand{gap:9px;min-width:0}
  .mobile-brand img{width:34px;height:34px;border-radius:10px}
  .mobile-brand .brand-title{font-size:18px;letter-spacing:-.4px}
  .mobile-brand small{font-size:8px;letter-spacing:1.1px;margin-top:4px}
  .live-pill{padding:6px 0;border:0;font-size:11px;color:#536b4d;gap:6px}
  .live-dot{width:6px;height:6px}
  .demo-banner{font-size:11px;line-height:1.5;padding:9px 14px;display:flex;gap:6px;align-items:center;justify-content:space-between;text-align:left}
  .demo-banner button{min-height:36px;flex-shrink:0;font-size:11px;font-weight:600;margin:0;padding:6px}
  .desktop-title{display:none}
  .mobile-title{display:inline}
  .page-head{margin:24px 0 19px;align-items:flex-start;flex-wrap:wrap;gap:13px}
  .page-head>div{min-width:0;flex:1 1 220px}
  .page-head .eyebrow{font-size:10px;letter-spacing:1.3px;line-height:1.5}
  .page-head h1{font-size:clamp(29px,8.5vw,36px);line-height:1.15;letter-spacing:-1px;margin:9px 0 9px}
  .page-head p{font-size:13px;line-height:1.65;color:#6d7767}
  .page-head .btn{font-size:13px;min-height:46px;padding:11px 15px;border-radius:11px}
  [data-screen=leaderboard] .page-head>.btn{display:none}
  .hero{display:none}
  .mobile-spotlight{display:flex;align-items:center;justify-content:space-between;background:#163e32;color:#fff9e7;padding:23px 24px;border-radius:19px;position:relative;overflow:hidden;min-height:146px;isolation:isolate}
  .mobile-spotlight:before{content:'';width:185px;height:185px;border:1px solid #d9b47524;border-radius:50%;position:absolute;right:-44px;top:-20px;z-index:-1;box-shadow:0 0 0 24px #d9b47506,0 0 0 48px #d9b47504}
  .mobile-spotlight>div:first-child{min-width:0;flex:1;padding-right:16px}
  .mobile-spotlight .eyebrow{font-size:10px;letter-spacing:1.5px;color:#dbbd81}
  .mobile-spotlight h2{font:32px/1.2 var(--serif);letter-spacing:-.5px;margin:8px 0;overflow-wrap:anywhere}
  .mobile-spotlight p{font-size:12px;color:#c1d4bd;line-height:1.6}
  .mobile-spotlight p strong{color:#f6e7c4;font-weight:650}
  .spotlight-trophy{width:64px;flex-shrink:0;transform:rotate(7deg)}
  .spotlight-trophy svg{width:100%;height:85px;filter:drop-shadow(0 8px 5px #08282050)}
  .spotlight-star{position:absolute;color:#ddbf7f;font-size:16px;right:85px;top:20px}
  .stats-row{gap:9px;margin:13px 0 27px}
  .stat{border-radius:12px;padding:16px 12px;background:#fffef9;align-items:flex-start}
  .stat strong{font:27px/1.2 var(--serif);letter-spacing:-.4px;margin-bottom:5px}
  .stat .label{font-size:11px;line-height:1.45;color:#737e68;min-height:32px}
  .section-title{margin-bottom:14px;align-items:center;gap:8px}
  .section-title h2{font:24px var(--serif)}
  .section-title p{font-size:12px;line-height:1.5;color:#728168;margin-top:5px;max-width:195px}
  .section-title .small-note{font-size:10px;max-width:82px;gap:4px;color:#64795b;line-height:1.5}
  .podium{display:none}
  .panel{border-radius:15px}
  .table-head,.player-row{grid-template-columns:28px minmax(0,1fr) 88px;gap:9px;padding:16px 14px}
  .table-head{font-size:10px;letter-spacing:.5px;background:#edf0e5;padding-top:13px;padding-bottom:13px}
  .entries-heading,.player-row>.rounds{display:none}
  .player-row{min-height:78px}
  .player-name{gap:10px;min-width:0}
  .player-name>div{min-width:0}
  .player-name .avatar{width:36px;height:36px;font-size:15px}
  .player-name strong{font-size:14px;line-height:1.45;font-weight:600}
  .player-name small{font-size:11px;line-height:1.5;color:#737e69}
  .player-row .player-name small{display:none}
  .rank{font:20px var(--serif);color:#7b876f}
  .rank.top-rank{color:#9b7b42}
  .score{font:26px/1.25 var(--serif);letter-spacing:-.7px;overflow-wrap:anywhere}
  .you-tag{display:inline-block;vertical-align:middle;font-size:9px;margin:4px 0 0;padding:2px 6px;border-radius:4px}
  .player-row.me{background:#edf3e5;box-shadow:inset 3px 0 #638552}
  .leader-grid{gap:23px}
  .right-rail{gap:20px}
  .aside-panel{display:none}
  .activity-panel{padding-top:21px}
  .activity-panel h3{font-size:23px;padding:0 19px 8px}
  .activity-panel .activity-list{padding:0 18px}
  .activity-panel .activity-main p,.activity-main p{font-size:13px;line-height:1.7}
  .activity-panel .activity-main small,.activity-main small{font-size:11px;color:#73806a;line-height:1.6;margin-top:6px}
  .activity-panel .delta,.delta{font-size:13px;line-height:1.6}
  .activity{padding:18px 0;gap:12px}
  .activity-list{padding:0 18px}
  .activity-icon{display:none}
  .activity-more{font-size:13px;min-height:49px;padding:13px}
  .mobile-nav{padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:5px;background:#fffefaf5;backdrop-filter:blur(16px);box-shadow:0 -5px 24px #163e3205}
  .mobile-nav button{min-width:0;flex:1;min-height:56px;gap:5px;padding:7px 3px;border-radius:13px;font-size:11px;font-weight:600;color:#6c7b61}
  .mobile-nav button svg{width:21px;height:21px;stroke-width:1.7}
  .mobile-nav button.active{background:#eaf0e1;color:#254d32}
  .mobile-admin-tabs{display:flex;background:#e8eddf;border:1px solid #dde4d3;border-radius:13px;padding:5px;gap:5px;margin:0 0 20px}
  .mobile-admin-tabs button{display:flex;justify-content:center;align-items:center;gap:8px;flex:1;min-height:47px;border:0;border-radius:9px;background:transparent;color:#68795c;font-size:14px;font-weight:600}
  .mobile-admin-tabs button.active{background:#fffef8;color:#224a31;box-shadow:0 2px 5px #163e320c}
  .admin-layout[data-admin-tab=scores] .player-panel,.admin-layout[data-admin-tab=players] .score-panel,.manage-players[data-admin-tab=scores]{display:none}
  .form-panel{padding:23px 20px}
  .form-panel h2{font-size:26px;line-height:1.3}
  .form-panel>p{font-size:13px;line-height:1.7;color:#6d7b63;margin-top:8px;margin-bottom:22px}
  .field{gap:8px;margin-bottom:21px}
  .field label{font-size:14px;font-weight:600}
  .field input,.field select{font-size:16px;height:53px;padding:12px 13px;border-radius:10px;min-width:0}
  .field input::placeholder{color:#8a9380}
  .btn{min-height:51px;font-size:14px;border-radius:11px;padding:13px 17px}
  .btn.small{min-height:46px;font-size:13px;padding:10px 13px}
  .form-panel .segmented{padding:5px;border-radius:11px;gap:5px}
  .segmented button{min-height:47px;font-size:13px;border-radius:8px;line-height:1.3}
  .quick-points{gap:9px}
  .quick-points button{min-height:48px;font-size:16px}
  .total-preview{font-size:13px;line-height:1.7;padding:17px;border-radius:11px}
  .total-preview strong{font-size:27px}
  .hint,.code-warning{font-size:12px;line-height:1.8}
  .code-warning{padding:15px;border-radius:10px;color:#8a642e}
  .manage-players{margin-top:21px}
  .panel-title{font-size:24px;padding:21px}
  .manage-row{padding:20px;gap:16px;flex-direction:column;align-items:stretch}
  .manage-row .player-name strong{font-size:15px}
  .manage-row .player-name small{font-size:12px;line-height:1.7}
  .manage-actions{margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .manage-actions .btn{font-size:12px;min-height:47px}
  .history-toolbar{flex-direction:column;gap:13px}
  .history-toolbar>label,.history-toolbar select{width:100%;max-width:none}
  .history-toolbar select{font-size:16px;min-height:51px;padding:12px;border-radius:10px}
  .history-info{font-size:12px;line-height:1.7;color:#748069}
  .page-footer{font-size:10px;line-height:1.8;margin-top:28px;padding-top:17px;gap:5px}
  .page-footer span:last-child{display:none}
  .empty{padding:29px 20px}
  .empty h3{font-size:24px}
  .empty p{font-size:13px;line-height:1.8;color:#6f7b65}
  .login-story{min-height:195px;padding:23px 24px}
  .story-copy{padding-top:20px;max-width:68%}
  .story-copy .eyebrow{display:none}
  .login-story .story-copy h1{font-size:32px;line-height:1.07;margin:0}
  .winter-scene{height:145px;width:132px;right:10px;bottom:0}
  .winter-scene .big-tree{height:125px;width:125px;left:6px}
  .login-main{padding:30px 24px 80px;min-height:0;align-items:center;flex-direction:column}
  .login-box{max-width:440px}
  .login-box h2{font-size:32px;line-height:1.2;margin:10px 0 12px}
  .login-box>.eyebrow{font-size:10px;letter-spacing:1.4px}
  .login-box>p{font-size:14px;line-height:1.75;color:#69785f;margin-bottom:24px}
  .secure-note{font-size:12px;line-height:1.6;align-items:center;flex-wrap:wrap}
  .login-help{font-size:13px;line-height:1.8;margin-top:23px;padding-top:19px}
  .link-btn{min-height:44px;padding:10px 4px;font-size:13px}
  .setup-switch{position:static;width:100%;padding:22px 0 0;grid-column:1/-1;font-size:13px}
  .login-main:has(.setup-switch){flex-wrap:wrap;padding-bottom:20px}
  dialog{max-height:calc(100dvh - 36px);overflow-y:auto;padding:23px;border-radius:19px;width:calc(100% - 28px)}
  .dialog-head{gap:16px;align-items:flex-start}
  .dialog-head h2{font-size:28px;line-height:1.25}
  .dialog-head .icon-button{min-height:44px;min-width:44px;background:#eef1e5;margin-top:-7px;margin-right:-9px}
  dialog p,dialog li{font-size:14px;line-height:1.85;color:#69795f}
  dialog .credential{font-size:17px;padding:16px;user-select:all}
  .dialog-actions{flex-wrap:wrap}
  .dialog-actions .btn{flex:1}
  #toast{font-size:13px;line-height:1.7;padding:14px 18px;bottom:calc(92px + env(safe-area-inset-bottom));border-radius:13px}
}
@media(max-width:360px){
  .main{padding-left:14px;padding-right:14px}
  .mobile-brand .brand-title{font-size:16px}
  .mobile-brand small{font-size:7px}
  .live-pill{font-size:10px}
  .page-head h1{font-size:29px}
  .stat{padding:14px 9px}
  .stat strong{font-size:24px}
  .stat .label{font-size:10px}
  .mobile-spotlight{padding:21px 19px}
  .mobile-spotlight h2{font-size:29px}
  .table-head,.player-row{padding-left:12px;padding-right:12px;grid-template-columns:24px minmax(0,1fr) 70px;gap:8px}
  .player-name{gap:8px}
  .player-name .avatar{width:31px;height:31px;font-size:13px}
  .player-name strong{font-size:13px}
  .score{font-size:23px}
  .mobile-nav button{font-size:10px}
  .form-panel{padding:20px 16px}
  .segmented button{font-size:12px}
}

/* Keep scrolling by touch, mouse wheel and keyboard; hide only the visible track. */
html,body,.main,dialog,.login-layout{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
html::-webkit-scrollbar,body::-webkit-scrollbar,.main::-webkit-scrollbar,dialog::-webkit-scrollbar,.login-layout::-webkit-scrollbar{display:none;width:0;height:0}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
dialog:not([open]){display:none}
dialog.legacy-modal[open]{display:block;position:fixed;left:50%;top:50%;right:auto;bottom:auto;transform:translate(-50%,-50%);z-index:101;margin:0;max-height:85vh;max-height:calc(var(--screen-height,100vh) - 32px);overflow-y:auto}
#dialog-backdrop{position:fixed;inset:0;top:0;left:0;right:0;bottom:0;background:#0d2b26aa;z-index:100}
#dialog-backdrop[hidden]{display:none}
body.modal-open{overflow:hidden}
.no-flex-gap .top-actions>*+*,.no-flex-gap .brand>*+*,.no-flex-gap .player-name>*+*,.no-flex-gap .manage-actions>*+*,.no-flex-gap .quick-points>*+*,.no-flex-gap .dialog-actions>*+*{margin-left:9px}
.no-flex-gap .mobile-nav>*+*,.no-flex-gap .segmented>*+*,.no-flex-gap .mobile-admin-tabs>*+*{margin-left:5px}
.no-flex-gap .nav>*+*{margin-top:7px}
.no-flex-gap .activity>*+*{margin-left:11px}

@media(max-width:1100px){
  /* Plain pixel values remain valid when safe-area env() is unavailable. */
  .main{max-width:1000px;padding-bottom:108px;padding-bottom:calc(108px + env(safe-area-inset-bottom));padding-left:18px;padding-right:18px;padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}
  .mobile-nav{padding-bottom:9px;padding-bottom:calc(9px + env(safe-area-inset-bottom));padding-left:12px;padding-right:12px;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}
  #toast{bottom:92px;bottom:calc(92px + env(safe-area-inset-bottom))}
  dialog{max-height:85vh;max-height:calc(var(--screen-height,100vh) - 32px)}
  .login-layout{min-height:100vh;min-height:var(--screen-height,100vh)}
  .login-main{flex-direction:column;align-items:center}
  .setup-switch{position:static;width:100%;padding:22px 0 0}
  .page-head h1{font-size:32px;font-size:clamp(29px,7vw,36px)}
  .mobile-spotlight h2{font-size:31px}
  .form-panel,.manage-players{overflow-wrap:break-word}
}
@media(min-width:600px) and (max-width:1100px){
  .main{padding-left:28px;padding-right:28px}
  .mobile-brand .brand-title{font-size:21px}
  .page-head h1{font-size:40px}
  .mobile-spotlight{min-height:170px;padding:29px 32px}
  .mobile-spotlight h2{font-size:38px}
  .spotlight-trophy{width:85px;margin-right:28px}
  .spotlight-trophy svg{height:110px}
  .stat .label{font-size:13px;min-height:0}
  .stat strong{font-size:32px}
  .admin-layout,.manage-players,.mobile-admin-tabs{max-width:700px;margin-left:auto;margin-right:auto}
  .form-panel{padding:28px}
  .mobile-nav{justify-content:center}
  .mobile-nav button{max-width:180px}
}
@supports(width:min(100%,360px)){
  @media(min-width:800px) and (max-width:1100px){
    .leader-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:24px}
    .section-title{min-height:62px}
    .right-rail{padding-top:76px}
  }
}
@media(max-width:319px){
  .main{padding-left:12px;padding-right:12px}
  .topbar{flex-wrap:wrap;gap:8px}
  .mobile-brand .brand-title{font-size:16px}
  .top-actions{margin-left:auto}
  .mobile-brand small{display:none}
  .page-head h1{font-size:27px}
  .stats-row{gap:6px}
  .stat{padding:12px 7px}
  .stat strong{font-size:23px}
  .stat .label{font-size:10px}
  .mobile-spotlight{padding:20px 16px}
  .mobile-spotlight h2{font-size:27px}
  .spotlight-trophy{width:48px}
  .spotlight-trophy svg{height:67px}
  .spotlight-star{right:65px}
  .section-title{flex-wrap:wrap;gap:8px}
  .section-title .small-note{max-width:none}
  .table-head,.player-row{grid-template-columns:22px minmax(0,1fr) 62px;gap:6px;padding-left:10px;padding-right:10px}
  .player-name .avatar{display:none}
  .score{font-size:23px}
  .demo-banner{font-size:10px;padding-left:10px;padding-right:10px}
  .mobile-nav{padding-left:4px;padding-right:4px;gap:2px}
  .mobile-nav button{font-size:9px;padding-left:1px;padding-right:1px}
  .form-panel{padding:20px 13px}
  .form-panel h2{font-size:23px}
  .segmented button{font-size:11px}
  .manage-row{padding:17px 13px}
  .manage-actions{grid-template-columns:1fr}
  .quick-points{gap:5px}
  .quick-points button{font-size:14px}
  .login-story{padding:20px 17px;min-height:180px}
  .login-story .story-copy h1{font-size:28px}
  .winter-scene{right:-12px;width:113px}
  .login-main{padding-left:17px;padding-right:17px}
  .login-box h2{font-size:29px}
}
@media(max-height:500px) and (max-width:1100px){
  .mobile-nav button{min-height:44px;flex-direction:row;gap:8px;padding:7px}
  .mobile-nav{padding-top:5px;padding-bottom:5px}
  .main{padding-bottom:80px}
  .login-story{min-height:150px}
  .winter-scene{height:130px}
  .login-main{padding-top:22px}
}
/* On actual multi-segment displays, keep every control in one unobstructed pane.
   Continuous folding screens simply use the normal responsive width rules. */
@media(horizontal-viewport-segments:2), (vertical-viewport-segments:2){
  #app{position:fixed;left:env(viewport-segment-left 0 0);top:env(viewport-segment-top 0 0);width:env(viewport-segment-width 0 0);height:env(viewport-segment-height 0 0);display:flex;flex-direction:column;overflow:hidden}
  .demo-banner{flex-shrink:0}
  #app .app-shell{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}
  .main{flex:1;min-height:0;width:100%;margin:0;overflow-y:auto;padding:18px 16px 25px}
  .mobile-nav{position:relative;inset:auto;bottom:auto;left:auto;right:auto;flex-shrink:0}
  .sidebar{display:none}
  .login-layout{flex:1;min-height:0;overflow-y:auto}
  .leader-grid{grid-template-columns:1fr}
  .right-rail{padding-top:0}
  .page-head h1{font-size:31px}
  .mobile-spotlight h2{font-size:30px}
  .admin-layout,.manage-players,.mobile-admin-tabs{max-width:100%}
  .form-panel{padding:22px 18px}
  #toast{left:calc(env(viewport-segment-left 0 0) + env(viewport-segment-width 0 0)/2);bottom:calc(100vh - env(viewport-segment-top 0 0) - env(viewport-segment-height 0 0) + 85px);max-width:calc(env(viewport-segment-width 0 0) - 28px)}
  dialog{left:env(viewport-segment-left 0 0);top:env(viewport-segment-top 0 0);right:calc(100vw - env(viewport-segment-right 0 0));bottom:calc(100vh - env(viewport-segment-bottom 0 0));width:calc(env(viewport-segment-width 0 0) - 28px);max-height:calc(env(viewport-segment-height 0 0) - 28px)}
  dialog.legacy-modal[open]{left:calc(env(viewport-segment-left 0 0) + env(viewport-segment-width 0 0)/2);top:calc(env(viewport-segment-top 0 0) + env(viewport-segment-height 0 0)/2);right:auto;bottom:auto}
}

/* Games: a compact calendar followed by the line-up. Editor opens on demand. */
.workshop-tabs{display:flex;max-width:none;margin:0 0 23px;padding:0;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;gap:20px}
.workshop-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;flex:0 1 auto;min-height:49px;padding:11px 15px;border:0;border-radius:0;background:none;color:#839078;font-size:13px;font-weight:600}
.workshop-tabs button.active{color:var(--pine);background:none;box-shadow:inset 0 -2px #b48851}
.workshop-tabs button.active svg{color:#a27a43}
.admin-layout{grid-template-columns:minmax(0,1fr);max-width:700px;margin-left:auto;margin-right:auto}
.manage-players{max-width:700px;margin-left:auto;margin-right:auto}
.admin-layout[data-admin-tab=scores] .player-panel,.admin-layout[data-admin-tab=players] .score-panel,.manage-players[data-admin-tab=scores]{display:none}
.games-head{max-width:1040px;margin-left:auto;margin-right:auto;margin-bottom:22px}
.games-head h1{font-size:38px;margin:9px 0 10px}
.games-head p{font-size:13px;color:#7e8975}
.plan-calendar{display:grid;grid-template-columns:minmax(0,1fr) 248px;align-items:center;gap:20px;max-width:1040px;margin:0 auto 28px;padding:23px 26px;background:#eaf0e1;border:1px solid #dbe3cf;border-radius:16px}
.plan-date-heading{display:flex;align-items:center;gap:15px;min-width:0}
.plan-date-badge{width:53px;min-width:53px;height:60px;border-radius:12px;background:#fffdf4;border:1px solid #dce3d1;display:flex;flex-direction:column;align-items:center;justify-content:center}
.plan-date-badge strong{font:27px/1 var(--serif);color:#345c3a}
.plan-date-badge span{font-size:9px;text-transform:uppercase;letter-spacing:1.1px;color:#839170;margin-top:5px}
.plan-date-text{min-width:0}
.plan-date-text h2{font:25px/1.3 var(--serif);letter-spacing:-.4px;margin:0 0 7px}
.plan-date-text p{font-size:12px;color:#7b896c;display:flex;align-items:center;gap:6px}
.plan-date-text p strong{font-weight:600;color:#5c744e}
.plan-date-text p span{margin:0 3px;color:#9baa8c}
.plan-today{background:none;border:0;color:#5d7a4c;font-size:12px;text-decoration:underline;text-underline-offset:3px;min-height:44px;margin-left:auto;padding:8px;flex-shrink:0}
.plan-date-controls{display:grid;grid-template-columns:40px minmax(0,1fr) 40px;gap:6px;align-items:stretch;min-width:0}
.plan-date-controls>button{height:44px;border:1px solid #d6e0c8;border-radius:9px;background:#f9fbf2;color:#698058;display:flex;align-items:center;justify-content:center;padding:0;min-width:0}
.plan-date-controls>label{position:relative;display:flex;align-items:center;min-width:0;max-width:100%;border:1px solid #d6e0c8;background:#f9fbf2;border-radius:9px}
.plan-date-controls>label>svg{position:absolute;left:11px;color:#7b9069;pointer-events:none}
.plan-date-controls input{display:block;width:100%;min-width:0;max-width:100%;height:44px;border:0;border-radius:9px;background:transparent;padding:9px 6px 9px 34px;color:#45613a;font-size:12px;font-family:var(--sans)}
.games-layout{display:block;max-width:1040px;margin:0 auto;min-width:0}
.games-layout.has-composer{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:'list editor';gap:24px;align-items:start}
.games-list{grid-area:list;min-width:0}
.plan-list-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}
.plan-list-heading h2{font:24px/1.3 var(--serif);letter-spacing:-.3px}
.plan-list-heading p{font-size:12px;line-height:1.6;color:#8b9680;margin-top:5px}
.plan-add{font-size:12px;min-height:43px;min-width:111px;white-space:nowrap;border-radius:9px;padding:10px 15px}
.plan-entries{display:flex;flex-direction:column;gap:12px}
.plan-entry{display:grid;grid-template-columns:67px minmax(0,1fr);background:var(--paper);border:1px solid #e0e5d7;border-radius:13px;padding:23px 23px 19px;gap:21px;min-width:0}
.plan-entry.playing{border-color:#aac494;box-shadow:inset 3px 0 #6c9157}
.plan-entry.completed{background:#f7f8ef}
.plan-entry.is-editing{border-color:#c4a775;box-shadow:0 0 0 2px #c4a77520}
.entry-time{padding-top:1px;color:#486742;position:relative}
.entry-time:after{content:'';position:absolute;right:-11px;top:0;bottom:0;min-height:40px;width:1px;background:#e6eadd}
.entry-time strong{display:block;font:25px/1.2 var(--serif);letter-spacing:-.7px;white-space:nowrap}
.entry-time span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.5px;color:#96a18a;margin-top:8px}
.entry-content{min-width:0}
.entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.entry-heading h3{font:23px/1.3 var(--serif);letter-spacing:-.2px;overflow-wrap:break-word;min-width:0;margin:0}
.game-status{display:inline-flex;align-items:center;border-radius:5px;background:#eff1e5;color:#7b896a;font-size:10px;line-height:1.5;padding:3px 8px;white-space:nowrap}
.game-status.playing{background:#e1edcf;color:#547a3e}
.game-status.playing:before{content:'';width:5px;height:5px;border-radius:50%;background:#6c9256;margin-right:5px}
.game-status.completed{background:#eee7d8;color:#977a4c}
.entry-notes{font-size:13px;line-height:1.8;color:#87917c;margin:10px 0 0;white-space:pre-wrap;overflow-wrap:break-word}
.entry-untimed{font-size:11px;color:#96a08c;margin-top:10px}
.entry-actions{display:flex;align-items:center;gap:12px;margin-top:14px}
.entry-actions button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;font-size:11px;border:0;border-radius:7px;padding:7px 10px}
.entry-edit{color:#7b8b6d;background:#f3f5eb}
.entry-start{color:#557744;background:#edf3e3}
.entry-start.finish{background:#dfeccc;color:#3d692b}
.plan-list-footer{display:flex;gap:7px;align-items:flex-start;padding:17px 1px;font-size:11px;line-height:1.7;color:#94a087}
.plan-list-footer svg{margin-top:3px}
.plan-empty{text-align:center;border:1px dashed #d6dfc9;border-radius:13px;background:#f0f4e8;padding:45px 22px;color:#8b9d7c}
.plan-empty h3{font:24px var(--serif);color:#667e55;margin:16px 0 10px}
.plan-empty p{font-size:13px;line-height:1.8;color:#91a080}
.game-form-panel{grid-area:editor;padding:23px 21px;position:sticky;top:20px;border-color:#d8ddcd;min-width:0}
.composer-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.composer-heading h2{font:26px/1.3 var(--serif);margin:6px 0 0}
.composer-heading .eyebrow{font-size:8px;letter-spacing:1.4px;color:#a98a5d}
.composer-heading .icon-button{background:#eef1e6;color:#7a8c6a;min-width:36px;min-height:36px;margin-top:0}
.game-form-panel>p.composer-day{font-size:11px;color:#8a987c;display:flex;align-items:center;gap:7px;margin:17px 0 24px;padding-bottom:18px;border-bottom:1px solid #e7ebde;line-height:1.6}
.game-form-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:13px}
.game-form-panel .field label{font-size:12px}
.game-form-panel .field label .muted{font-size:10px;font-weight:400}
.game-form-panel .field input,.game-form-panel .field select{height:44px;min-width:0;font-size:13px;padding:9px 10px}
.field textarea{width:100%;min-height:94px;padding:11px;border:1px solid #d8ded2;border-radius:8px;background:var(--paper);font:inherit;line-height:1.7;color:var(--ink);resize:vertical}
.field textarea:focus{outline:2px solid #587863;outline-offset:1px}
.game-form-panel .field textarea{font-size:13px}
.game-form-panel .btn{font-size:12px;min-height:44px}
.composer-cancel{margin-top:9px}
.composer-remove{border-top:1px solid #e7ebdf;margin-top:20px;padding-top:14px}
.composer-remove button{background:none;border:0;color:#a76a55;font-size:11px;text-decoration:underline;text-underline-offset:3px;padding:8px 0;min-height:36px}
.composer-remove p{font-size:10px;color:#9ca28e;line-height:1.7;margin-top:3px}
.removed-games{padding:13px 0;border-top:1px solid #e2e7d9;margin-top:5px}
.removed-games summary{font-size:12px;min-height:35px;cursor:pointer;color:#859578;line-height:2}
.removed-games summary>span{display:inline-block;padding:0 6px;background:#e8ecde;border-radius:5px;font-size:10px;line-height:1.7;margin-left:5px}
.removed-games>p{font-size:12px;color:#94a184;line-height:1.8;padding-bottom:9px}
.removed-game{display:flex;align-items:center;justify-content:space-between;gap:13px;padding:12px 0;border-bottom:1px solid #e4e9da}
.removed-game:last-child{border-bottom:0}
.removed-game span{font-size:13px;color:#7e8c70;min-width:0;overflow-wrap:break-word}
.no-flex-gap .workshop-tabs>*+*{margin-left:15px}
.no-flex-gap .plan-entries>*+*{margin-top:12px}
.no-flex-gap .entry-actions>*+*,.no-flex-gap .entry-heading>*+*,.no-flex-gap .plan-date-heading>*+*{margin-left:12px}
.plan-date-controls .previous-day svg{transform:rotate(180deg)}
.plan-date-controls input{padding-left:12px}
@media(max-width:1100px){
  .games-head{margin-top:22px;margin-bottom:19px}
  .games-head h1{font-size:32px;margin:7px 0 9px}
  .games-head p{font-size:13px;line-height:1.65}
  .workshop-tabs{gap:15px;margin-bottom:20px}
  .workshop-tabs button{min-height:46px;padding:10px 14px;font-size:13px}
}
@media(max-width:850px), (horizontal-viewport-segments:2), (vertical-viewport-segments:2){
  .plan-calendar{grid-template-columns:minmax(0,1fr);gap:15px;padding:19px;margin-bottom:23px;border-radius:15px}
  .plan-date-badge{width:45px;min-width:45px;height:51px;border-radius:10px}
  .plan-date-badge strong{font-size:25px}
  .plan-date-badge span{font-size:8px}
  .plan-date-heading{gap:12px}
  .plan-date-text h2{font-size:23px;line-height:1.3;margin-bottom:6px}
  .plan-date-text p{font-size:11px}
  .plan-date-controls{grid-template-columns:44px minmax(0,1fr) 44px;gap:8px}
  .plan-date-controls>button,.plan-date-controls input{height:45px}
  .plan-date-controls input{font-size:16px;padding-left:12px}
  .games-layout.has-composer{grid-template-columns:minmax(0,1fr);grid-template-areas:'editor' 'list';gap:23px}
  .plan-list-heading{margin-bottom:15px;gap:8px}
  .plan-list-heading h2{font-size:23px}
  .plan-list-heading p{font-size:11px}
  .plan-add{min-height:45px;min-width:105px;font-size:12px;padding:10px 12px;border-radius:10px}
  .plan-entry{grid-template-columns:51px minmax(0,1fr);gap:17px;padding:20px 16px 15px;border-radius:13px}
  .entry-time strong{font-size:23px}
  .entry-time span{font-size:8px;letter-spacing:.2px}
  .entry-time:after{right:-8px}
  .entry-heading{gap:8px}
  .entry-heading h3{font-size:21px;line-height:1.35}
  .entry-notes{font-size:12px;line-height:1.85;margin-top:10px;color:#7f8f72}
  .game-status{font-size:10px;padding:2px 7px}
  .entry-actions{gap:8px;margin-top:12px}
  .entry-actions button{font-size:11px;min-height:44px;padding:9px 11px;gap:5px}
  .plan-list-footer{font-size:11px;padding-top:15px}
  .game-form-panel{position:static;padding:23px 20px;border-radius:15px}
  .composer-heading h2{font-size:27px}
  .composer-heading .icon-button{min-height:42px;min-width:42px;border-radius:9px}
  .game-form-panel>p.composer-day{font-size:12px}
  .game-form-panel .field label{font-size:14px}
  .game-form-panel .field label .muted{font-size:11px}
  .game-form-panel .field input,.game-form-panel .field select{font-size:16px;height:51px;padding:11px}
  .game-form-panel .field textarea{font-size:16px;min-height:110px}
  .game-form-panel .btn{font-size:14px;min-height:49px}
  .composer-remove button{font-size:13px;min-height:44px}
  .composer-remove p{font-size:11px}
  .removed-games summary{font-size:13px;min-height:44px;padding-top:6px}
  .removed-game .btn{min-height:44px}
}
@media(max-width:360px){
  .games-head h1{font-size:29px}
  .workshop-tabs{gap:8px}
  .workshop-tabs button{padding:10px 12px;font-size:12px;gap:6px}
  .workshop-tabs button svg{width:15px}
  .plan-calendar{padding:16px 14px;gap:14px}
  .plan-date-text h2{font-size:20px}
  .plan-date-badge{width:40px;min-width:40px;height:47px}
  .plan-date-heading{gap:10px}
  .plan-today{font-size:11px;padding:6px 0 6px 4px}
  .plan-list-heading h2{font-size:21px}
  .plan-list-heading p{font-size:10px}
  .plan-add{min-width:94px;font-size:11px;padding:10px}
  .plan-entry{grid-template-columns:43px minmax(0,1fr);gap:14px;padding:18px 12px 14px}
  .entry-time strong{font-size:20px}
  .entry-time span{font-size:7px}
  .entry-time:after{right:-7px}
  .entry-heading h3{font-size:20px}
  .entry-actions button{font-size:10px;padding:8px;gap:4px}
  .entry-actions{gap:6px}
  .game-form-row{grid-template-columns:minmax(0,1fr);gap:0}
  .game-form-panel{padding:21px 16px}
}
@media(min-width:1101px){
  .entry-content{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:20px}
  .entry-heading{grid-column:1/-1}
  .entry-notes,.entry-untimed{grid-column:1}
  .entry-actions{grid-column:2;margin-top:10px}
}
@media(max-width:319px){
  .plan-date-controls{grid-template-columns:40px minmax(0,1fr) 40px;gap:6px}
  .plan-date-controls input{font-size:13px;padding-left:8px;padding-right:4px}
  .plan-list-heading p{display:none}
}

/* Account is a full destination, with its own active navigation state. */
.account-page{max-width:940px;margin:0 auto}
.account-head{margin-top:30px;margin-bottom:22px}
.account-profile{display:flex;align-items:center;gap:22px;position:relative;overflow:hidden;background:var(--pine);color:#fff8e7;border-radius:17px;padding:29px 32px;min-height:155px}
.account-profile:after{content:'';position:absolute;right:-22px;top:-46px;width:220px;height:220px;border:1px solid #d9b47520;border-radius:50%;box-shadow:0 0 0 30px #d9b47506,0 0 0 60px #d9b47504;pointer-events:none}
.account-profile-avatar{height:73px;width:73px;min-width:73px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#dcbf83;color:#335139;font:27px var(--serif);border:5px solid #ffffff14}
.account-profile-copy{min-width:0;position:relative;z-index:1;padding-right:25px}
.account-profile-role{display:inline-flex;align-items:center;gap:6px;font-size:10px;letter-spacing:.7px;color:#d9c392}
.account-profile h2{font:35px/1.2 var(--serif);letter-spacing:-.6px;margin:8px 0 7px;overflow-wrap:break-word}
.account-profile p{font-size:13px;color:#adcaaf;overflow-wrap:anywhere}
.account-profile-star{position:absolute;right:34px;top:30px;font-size:21px;color:#d9b475;z-index:1}
.account-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:#fffef8;border:1px solid var(--line);border-radius:13px;margin-top:14px;padding:19px 0}
.account-stats>div{text-align:center;border-right:1px solid #e3e7d8;padding:0 9px;min-width:0}
.account-stats>div:last-child{border:0}
.account-stats strong{display:block;font:30px/1.3 var(--serif);color:#345539;overflow-wrap:anywhere}
.account-stats span{display:block;font-size:11px;color:#7b8a6d;margin-top:4px}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:22px;align-items:start}
.account-card{padding:24px;min-width:0;border-radius:14px}
.account-section-heading{display:flex;align-items:center;gap:10px;color:#6d835c;margin-bottom:21px}
.account-section-heading h2{font:23px/1.3 var(--serif);color:#304e35;letter-spacing:-.3px}
.account-detail-list{margin:0}
.account-detail-list>div{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid #e9ecdf;padding:16px 0}
.account-detail-list>div:first-child{padding-top:0}
.account-detail-list dt{font-size:12px;color:#849176;min-width:75px}
.account-detail-list dd{font-size:13px;font-weight:500;color:#4d6444;text-align:right;margin:0;overflow-wrap:anywhere;min-width:0}
.account-username{user-select:all}
.account-identity-value strong{display:block;font:inherit;font-weight:500}
.account-identity-value .account-username{display:block;font-size:12px;line-height:1.7;color:#819171;margin-top:4px}
.team-setup{border:0;padding:0;margin:0 0 23px;min-width:0}
.team-setup legend{font-size:12px;font-weight:600;color:#465f3b;margin-bottom:11px;padding:0}
.team-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.team-mode-option{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:43px;background:#f2f5ea;border:1px solid #dde5d2;border-radius:9px;color:#869873;cursor:pointer;font-size:12px}
.team-mode-option input{position:absolute;opacity:0;width:1px;height:1px}
.team-mode-option.selected{background:#e2edcf;border-color:#adc795;color:#486f32;font-weight:600}
.team-mode-option:focus-within{outline:2px solid #63864f;outline-offset:2px}
.group-count-field{margin-top:17px;margin-bottom:12px}
.team-format-help{font-size:11px;line-height:1.85;color:#82946e;margin:11px 0 0}
.team-participants{border:1px solid #e1e8d7;border-radius:9px;margin-top:14px;background:#fafbf4}
.team-participants summary{cursor:pointer;font-size:11px;padding:13px 11px;min-height:43px;color:#6d865a;line-height:1.7}
.team-participants summary>span{float:right;font-size:10px;color:#8c9e7b;margin-left:6px}
.team-roster{max-height:220px;overflow:auto;padding:0 11px 10px;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch}
.team-roster::-webkit-scrollbar{display:none;width:0;height:0}
.team-roster>label{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid #e7eddf;min-height:44px;font-size:12px;color:#65804f;cursor:pointer}
.team-roster input{width:17px;height:17px;accent-color:#567e3d;flex-shrink:0}
.team-roster small{display:block;font-size:10px;color:#96a587;margin-top:3px}
.team-privacy-note{display:flex;gap:7px;align-items:flex-start;color:#8b9d7c;font-size:10px;line-height:1.8;margin-top:12px}
.team-privacy-note svg{flex-shrink:0;margin-top:3px}
.team-setup[disabled]{opacity:.75}
.host-team-panel,.team-locked,.my-team-card{grid-column:1/-1;margin-top:15px;min-width:0}
.host-team-panel{padding:14px;background:#f1f5e8;border:1px solid #e0e8d4;border-radius:10px}
.host-team-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:#75935e;font-size:11px}
.host-team-heading strong{color:#597b41;font-weight:600}
.host-team-heading>span{font-size:9px;margin-left:auto;padding:3px 6px;background:#e7efdb;border-radius:5px;color:#7d9468}
.host-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:8px;margin-top:13px}
.host-team-grid>div{background:#fcfff5;border:1px solid #e4ecd9;border-radius:7px;padding:10px 11px;min-width:0}
.host-team-grid strong{font-size:10px;font-weight:600;color:#719054}
.host-team-grid p{font-size:11px;line-height:1.9;color:#93a27e;margin-top:4px;overflow-wrap:break-word}
.team-draw-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:12px}
.team-draw-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:37px;padding:8px 10px;background:#fffef5;color:#6d8c51;border:1px solid #cedebd;border-radius:7px;font-size:11px}
.team-draw-actions>span{display:flex;align-items:center;gap:5px;font-size:9px;color:#94a881;line-height:1.7}
.team-stale{font-size:11px;line-height:1.8;color:#a07a49;background:#fff1d8;padding:10px;border-radius:7px;margin-top:10px}
.team-locked{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px dashed #d7e1ca;border-radius:9px;background:#f7faee;color:#91a97a}
.team-locked>svg{margin-top:2px}
.team-locked strong{font-size:11px;font-weight:600;color:#748e5c}
.team-locked p{font-size:11px;line-height:1.8;color:#95a880;margin-top:5px}
.my-team-card{background:#e8f1dc;border:1px solid #b7ce9f;border-radius:11px;padding:16px}
.my-team-heading{display:flex;align-items:center;gap:8px;color:#5e853e;font-size:13px}
.my-team-heading strong{font-weight:600}
.my-team-members{margin-top:13px}
.my-team-members>div{display:flex;align-items:center;gap:9px;padding:9px 0;min-width:0;border-top:1px solid #d3e2c2}
.my-team-members>div:last-child{padding-bottom:0}
.my-team-members .avatar{width:28px;height:28px;font-size:11px;background:#cfdfbc;color:#5c7f3e}
.my-team-members>div>span:not(.avatar){font-size:12px;color:#728f56;min-width:0;overflow-wrap:break-word}
.my-team-members small{margin-left:auto;font-size:9px;background:#d5e5c3;color:#6f924e;border-radius:4px;padding:3px 6px}
.active-team-notice{display:flex;align-items:center;gap:13px;width:100%;padding:16px 18px;border:1px solid #b9d19f;border-radius:12px;background:#e6f0d7;color:#6a8b4e;text-align:left;margin-top:22px}
.active-team-notice>span{min-width:0;flex:1}
.active-team-notice strong{display:block;font-size:13px;color:#527639;font-weight:600}
.active-team-notice small{display:block;font-size:11px;margin-top:5px;line-height:1.7;overflow-wrap:break-word}
.no-flex-gap .team-roster input{margin-right:10px}
.team-demo-view{grid-column:1/-1;justify-self:start;min-height:40px;background:none;border:0;color:#9aaa88;text-decoration:underline;text-underline-offset:3px;font-size:10px;padding:7px 0;margin-top:4px;text-align:left}
.team-large-demo{width:100%;min-height:44px;margin-top:12px;padding:10px;border:1px dashed #d2dfbf;border-radius:8px;background:#f7fbef;color:#7a9561;font-size:11px;line-height:1.7;text-align:center}
.no-flex-gap .my-team-members>div>*+*,.no-flex-gap .team-draw-actions>*+*{margin-left:9px}
@media(max-width:1100px), (horizontal-viewport-segments:2), (vertical-viewport-segments:2){
  .team-setup legend{font-size:14px}
  .team-mode-option{min-height:48px;font-size:14px}
  .team-format-help{font-size:12px}
  .team-participants summary{font-size:13px;padding:13px 11px;min-height:47px}
  .team-participants summary>span{font-size:11px}
  .team-roster>label{font-size:14px;min-height:48px}
  .team-roster small{font-size:11px}
  .team-privacy-note{font-size:11px}
  .host-team-panel{padding:13px}
  .host-team-heading{font-size:12px}
  .host-team-heading>span{font-size:9px}
  .host-team-grid{grid-template-columns:minmax(0,1fr)}
  .host-team-grid strong{font-size:11px}
  .host-team-grid p{font-size:12px}
  .team-draw-actions button{min-height:45px;font-size:12px}
  .team-draw-actions>span{font-size:10px}
  .team-locked{padding:12px;gap:8px}
  .team-locked strong{font-size:12px}
  .team-locked p{font-size:12px}
  .my-team-card{padding:15px}
  .my-team-heading{font-size:14px}
  .my-team-members>div>span:not(.avatar){font-size:13px}
  .my-team-members .avatar{height:31px;width:31px;font-size:12px}
  .active-team-notice{padding:15px}
  .active-team-notice strong{font-size:14px}
  .active-team-notice small{font-size:12px}
}
@media(max-width:360px){
  .team-mode-option{gap:5px;font-size:12px}
  .team-mode-option svg{width:15px}
  .team-participants summary{font-size:12px}
  .team-participants summary>span{font-size:10px}
  .team-locked{display:block}
  .team-locked>svg{margin-bottom:7px}
}
.account-private-note{display:flex;gap:7px;align-items:flex-start;color:#8b967f;font-size:11px;line-height:1.85;margin-top:19px}
.account-private-note svg{margin-top:3px;flex-shrink:0}
.account-shortcuts .account-section-heading{margin-bottom:10px}
.account-link{display:flex;align-items:center;gap:12px;width:100%;min-height:72px;text-align:left;border:0;border-bottom:1px solid #e9ecdf;background:none;color:#819673;padding:15px 0}
.account-link:last-child{border:0;padding-bottom:0}
.account-link-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;min-width:36px;border-radius:9px;background:#eef2e5;color:#718a5f}
.account-link-copy{flex:1;min-width:0}
.account-link strong{display:block;font-size:13px;font-weight:600;color:#4a6640}
.account-link small{display:block;font-size:11px;line-height:1.65;margin-top:3px;color:#8b977e}
.account-link>svg{color:#8b9b7e}
.account-link:hover .account-link-copy strong{color:#183f28}
.account-install{display:flex;align-items:center;flex-wrap:wrap;gap:14px;background:#eaf0df;border:1px solid #dce5cf;border-radius:14px;padding:23px;min-width:0}
.account-install-icon{height:44px;width:44px;min-width:44px;border-radius:11px;background:#dde7cf;color:#7a8e65;display:flex;align-items:center;justify-content:center}
.account-install>div{flex:1;min-width:0}
.account-install h2{font:22px/1.3 var(--serif);color:#48633b}
.account-install p{font-size:12px;color:#7e906d;line-height:1.8;margin-top:8px}
.account-install .btn{font-size:12px;min-height:45px;width:100%;background:#fafff1;border-color:#d1ddc3;color:#5b784a}
.account-help{border:1px solid #dfe5d5;border-radius:14px;background:#fffef8;overflow:hidden;min-width:0}
.account-help summary{display:flex;align-items:center;gap:11px;list-style:none;cursor:pointer;min-height:78px;padding:21px;color:#7e926c;font-size:13px}
.account-help summary::-webkit-details-marker{display:none}
.account-help summary span{flex:1;min-width:0;color:#5a734b;line-height:1.7}
.account-help[open] summary>svg:last-child{transform:rotate(90deg)}
.account-help>div{padding:0 23px 23px}
.account-help p{font-size:12px;line-height:1.9;color:#819171;margin-top:12px}
.account-signout-area{padding-top:25px}
.account-signout{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;min-height:49px;border:1px solid #dfc8ba;border-radius:11px;background:#fbf2e9;color:#a5654d;font-size:13px;font-weight:600}
.account-signout:hover{background:#f5e5d8}
.account-signout-area>p{text-align:center;font-size:11px;color:#96a087;line-height:1.8;margin-top:12px}
.no-flex-gap .account-profile>*+*,.no-flex-gap .account-link>*+*,.no-flex-gap .account-section-heading>*+*{margin-left:12px}
@media(max-width:1100px), (horizontal-viewport-segments:2), (vertical-viewport-segments:2){
  .account-head{margin-top:23px;margin-bottom:20px}
  .account-head h1{font-size:33px}
  .account-head p{font-size:13px;color:#78896b}
  .account-profile{padding:24px 22px;gap:16px;min-height:145px;border-radius:17px}
  .account-profile-avatar{height:61px;width:61px;min-width:61px;font-size:23px;border-width:4px}
  .account-profile h2{font-size:29px;letter-spacing:-.5px;margin:8px 0 6px}
  .account-profile-role{font-size:10px}
  .account-profile p{font-size:12px}
  .account-profile-star{right:19px;top:21px;font-size:16px}
  .account-profile-copy{padding-right:15px}
  .account-stats{padding:17px 0;margin-top:13px;border-radius:13px}
  .account-stats strong{font-size:27px}
  .account-stats span{font-size:10px;line-height:1.6}
  .account-grid{gap:18px;margin-top:19px}
  .account-card{padding:22px 20px}
  .account-section-heading h2{font-size:24px}
  .account-section-heading{margin-bottom:20px}
  .account-detail-list dt{font-size:13px}
  .account-detail-list dd{font-size:14px;line-height:1.6}
  .account-detail-list>div{padding:17px 0}
  .account-private-note{font-size:12px;line-height:1.8;margin-top:18px}
  .account-link{min-height:80px;padding:17px 0}
  .account-link strong{font-size:14px}
  .account-link small{font-size:12px;line-height:1.65}
  .account-link-icon{width:38px;height:38px;min-width:38px}
  .account-install{padding:22px 20px;gap:13px}
  .account-install h2{font-size:24px}
  .account-install p{font-size:13px}
  .account-install .btn{font-size:14px;min-height:49px}
  .account-help summary{font-size:14px;min-height:78px}
  .account-help p{font-size:13px;line-height:1.9}
  .account-signout{font-size:15px;min-height:51px}
  .account-signout-area>p{font-size:12px}
}
@media(max-width:700px), (horizontal-viewport-segments:2), (vertical-viewport-segments:2){
  .account-grid{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:360px){
  .account-profile{gap:12px;padding:22px 17px}
  .account-profile-avatar{width:51px;height:51px;min-width:51px;font-size:21px}
  .account-profile h2{font-size:26px}
  .account-profile-copy{padding-right:10px}
  .account-profile-star{right:15px;top:17px;font-size:13px}
  .account-head h1{font-size:30px}
  .account-card{padding:22px 17px}
  .account-detail-list>div{gap:12px}
  .account-detail-list dt{min-width:67px;font-size:12px}
  .account-detail-list dd{font-size:13px}
  .account-stats strong{font-size:25px}
  .account-stats span{font-size:9px}
  .account-install{padding:21px 17px}
  .account-install h2{font-size:23px}
  .account-help summary{padding:19px 17px;gap:8px;font-size:13px}
  .account-help>div{padding-left:17px;padding-right:17px}
}

/* Movie Night */
.movie-entry{margin-top:14px;padding-top:14px;border-top:1px dashed #d9ddcc}.movie-entry>span{font-size:12px;font-weight:600;color:#8b713f}.movie-entry p{font-size:12px;line-height:1.7;color:#7c8b70;margin:6px 0 11px}.movie-entry .btn{min-height:42px;font-size:12px}
.movie-plan-layout{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr);gap:25px;margin:24px 0}.movie-plan-card{padding:25px;min-width:0}.movie-plan-card h2{font:26px/1.25 var(--serif);color:#244c38}.movie-plan-side{display:flex;flex-direction:column;gap:23px;min-width:0}.movie-section-heading{display:flex;gap:13px;align-items:flex-start;margin-bottom:24px}.movie-section-heading>span{font:21px var(--serif);color:#b18b4e;border:1px solid #dccdaa;border-radius:50%;min-width:39px;height:39px;display:grid;place-items:center}.movie-section-heading p{font-size:12px;color:#7f8e73;line-height:1.8;margin-top:7px}.movie-plan-card input[type=number]{width:100%;max-width:200px}.movie-player-select{border:1px solid #dae2d0;border-radius:9px;margin:18px 0}.movie-player-select summary{padding:14px;cursor:pointer;font-size:13px;color:#4e6e3e}.movie-film-heading{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:center;margin:27px 0 12px}.movie-film-heading h3{font:24px var(--serif);color:#31583c}.movie-film-heading>span{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#997c4e}.movie-film-row{display:flex;gap:13px;padding:22px 0;border-top:1px solid #e1e6d7;min-width:0}.movie-film-number{font:22px var(--serif);color:#b9a37b;padding-top:7px;min-width:27px}.movie-film-content{flex:1;min-width:0}.movie-film-content h3{font:22px var(--serif);color:#31583c;margin-bottom:14px}.movie-film-content .field>span{display:block;font-size:12px;color:#597049;margin-bottom:8px}.movie-film-content input{width:100%;min-width:0}.movie-image-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.movie-image-slot{border-radius:9px;overflow:hidden;background:#eff2e7;border:1px solid #dfe5d6;min-width:0}.movie-image-slot img,.movie-image-placeholder{display:block;width:100%;height:126px;object-fit:cover}.movie-image-placeholder{display:grid;place-items:center;color:#a5b196;font-size:35px}.movie-image-slot>span{display:block;padding:9px;font-size:11px;color:#7a8c68}.movie-upload-label{position:relative;display:flex;align-items:center;justify-content:center;min-height:43px;padding:7px;font-size:11px;color:#597849;background:#f7faef;cursor:pointer;text-align:center}.movie-upload-label:focus-within{outline:2px solid #a47e43;outline-offset:-2px}.movie-upload-label input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.movie-film-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:11px}.movie-film-actions button{border:0;background:transparent;color:#7f8f6f;min-height:36px;font-size:11px;padding:4px 3px}.movie-film-actions button:last-child{margin-left:auto;color:#a1664f}.movie-film-actions button:disabled{opacity:.35}.movie-note{font-size:12px;color:#899678;line-height:1.85;margin:15px 0}.movie-host-launch{background:#1e4838;color:#dce7cb;border-radius:14px;padding:28px}.movie-host-launch .eyebrow{font-size:9px;color:#d6b574}.movie-host-launch h2{font:33px/1.2 var(--serif);color:#fff4dc;margin:14px 0}.movie-host-launch>p{font-size:12px;line-height:1.9;color:#b6c8a7;margin-bottom:20px}.movie-host-launch .btn{background:#dfc28b;border-color:#dfc28b;color:#244633;text-decoration:none;font-size:12px;min-height:46px}.movie-host-launch .btn.secondary{background:transparent;border-color:#63826a;color:#e5e6c5;margin-top:16px}.movie-host-launch .movie-note{font-size:11px;color:#9fb593}.movie-phase-label{border-top:1px solid #57745a;padding-top:16px;color:#d6c794;font-size:12px}.movie-turn-list{list-style:none;margin:15px 0 0;padding:0}.movie-turn-list li{display:flex;align-items:center;gap:12px;min-height:48px;padding:9px 10px;border-top:1px solid #e5e9dd;font-size:13px;color:#5c7650}.movie-turn-list li>span{font-size:11px;color:#9eaa91}.movie-turn-list strong{font-weight:500;overflow-wrap:anywhere}.movie-turn-list small{font-size:9px;margin-left:auto;background:#dfe9d2;padding:5px 7px;border-radius:5px;white-space:nowrap}.movie-turn-list li.current{background:#eef3e3;border-radius:7px}.movie-order-wait{text-align:center;font-size:32px;color:#b7a173;padding:20px}.movie-order-wait p{font:12px/1.9 var(--sans);color:#9aa48b;margin-top:12px}.movie-add-empty{text-align:center;padding:30px 10px;color:#91a17f}.movie-add-empty>span{font-size:36px}.movie-add-empty h3{font:24px var(--serif);margin:13px 0}.movie-add-empty p{font-size:12px;line-height:1.8}
.movie-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:22px}.movie-controls .btn{min-height:48px;flex:1 1 150px;font-size:13px}.movie-incorrect{background:#a75640!important;border-color:#a75640!important;color:#fff4e5!important}
.movie-phone-card{position:relative;margin:22px 0;padding:23px;background:#214b39;color:#e4ecd5;border-radius:15px;box-shadow:0 6px 16px #173e3812}.movie-phone-card .eyebrow{color:#d4b16d;font-size:10px}.movie-phone-card h2{font:29px var(--serif);color:#fff0d0;margin:13px 0 10px}.movie-phone-card>p{font-size:14px;line-height:1.75;color:#c5d7b9}.movie-buzzer{display:block;width:100%;min-height:100px;border:1px solid #f0d29b;border-radius:12px;background:#e2bd77;color:#234431;font-size:24px;font-weight:600;margin-top:20px;box-shadow:0 5px 0 #a98c55}.movie-buzzer span{display:block;font-size:11px;font-weight:400;margin-top:8px;letter-spacing:.4px}.movie-buzzer:active{transform:translateY(3px);box-shadow:0 2px 0 #a98c55}.movie-your-steal{margin-top:17px;padding:16px;background:#dfc58b;color:#234431;border-radius:9px;font-size:16px;line-height:1.7}.movie-phone-timer{font-size:22px;color:#e9cd93;margin-top:12px}.movie-phone-card .team-demo-view{color:#d6cda9}
.movie-tv{--serif:Georgia,'Times New Roman',serif;min-height:100vh;min-height:var(--screen-height,100vh);background:radial-gradient(ellipse at 50% 10%,#315b48,#0f2b25 75%);color:#d9e5ce;display:flex;flex-direction:column;padding:0 5vw;position:relative;overflow:hidden}.movie-tv:before{content:'✦   ✧                         ✧';position:absolute;inset:130px 20px auto;font-size:28px;letter-spacing:3vw;color:#d8ba7325;pointer-events:none}.movie-tv-top{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:23px 0;border-bottom:1px solid #bfd0aa26;min-height:78px;position:relative;z-index:1}.movie-tv-top>span{font:18px var(--serif);color:#d8bc80}.movie-tv-top b{font:10px sans-serif;letter-spacing:3px;text-transform:uppercase;padding-left:25px;color:#9fb796}.movie-tv-top>div{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.movie-fullscreen{background:transparent;border:1px solid #6c846b;border-radius:7px;color:#d2ddc3;min-height:40px;padding:9px 14px;font:12px sans-serif}.movie-tv-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px 0 20px;min-height:0}.movie-tv-content>.eyebrow{font-size:11px;color:#c6a96f;letter-spacing:3px}.movie-tv h1{font:clamp(30px,4vw,60px)/1.15 var(--serif);color:#fff2d6;margin:12px 0 22px;letter-spacing:-1px}.movie-tv p{font-size:16px;line-height:1.8;color:#bbcfaf}.movie-tv .movie-controls{width:100%;max-width:700px;margin-top:18px}.movie-tv .btn{background:#dfbf7e;color:#244632;border-color:#dfbf7e;min-height:48px;font-size:14px}.movie-tv .btn.secondary{background:transparent;color:#d6dec4;border-color:#738c6c}.movie-wheel-wrap{position:relative;width:min(44vh,350px);height:min(44vh,350px);max-width:85vw;margin:8px auto 16px}.movie-wheel{width:100%;height:100%;border:8px solid #e0c58d;border-radius:50%;box-shadow:0 0 0 7px #c8a76a22,0 15px 50px #0003;overflow:hidden;background:#375d48}.movie-wheel svg{display:block;width:100%;height:100%}.movie-wheel-pointer{position:absolute;z-index:2;left:50%;transform:translateX(-50%);top:-19px;color:#f6e5bb;font-size:33px;text-shadow:0 2px 5px #0005}.movie-wheel.is-spinning{animation:movie-spin var(--wheel-duration,4s) cubic-bezier(.12,.68,.1,1) both}.movie-turn-name{font:clamp(23px,3vw,39px) var(--serif);color:#e6c480;margin:11px 0 0}.movie-scene-frame{width:100%;max-width:1100px;min-height:160px;border:1px solid #b7b88a55;border-radius:12px;padding:7px;background:#0a201b;box-shadow:0 20px 40px #0002}.movie-scene-frame img{display:block;width:100%;height:min(48vh,550px);object-fit:contain;border-radius:7px}.movie-reveal{display:flex;align-items:center;justify-content:center;gap:45px;max-width:1000px;text-align:left}.movie-reveal>img{max-height:44vh;max-width:45%;object-fit:contain;border:5px solid #ead7a6;box-shadow:0 15px 40px #0004}.movie-reveal h2{font:clamp(29px,4vw,60px)/1.2 var(--serif);color:#fff0cf;margin:14px 0}.movie-reveal .eyebrow{font-size:11px;letter-spacing:3px;color:#d2af6a}.movie-countdown{font:30px var(--serif);color:#ecc887;min-height:0;margin-top:9px}.movie-countdown:empty{display:none}.movie-steal-call strong{display:block;font:25px var(--serif);color:#f3d28e;margin:15px 0 5px}.movie-steal-call p{font-size:13px}.movie-waiting-icon{font-size:110px;color:#b39355;margin:20px}.movie-tv>footer{display:flex;justify-content:center;align-items:center;gap:18px;border-top:1px solid #bfd0aa26;padding:17px 0;font-size:10px;letter-spacing:1px;color:#8da580}.movie-tv .movie-disconnected{color:#ffd1b3;font-size:13px}.movie-tv .team-demo-view{color:#c8c8a4;margin:10px 0 0;justify-self:center;font-size:12px}.movie-tv .movie-tv-top .btn{font-size:11px;min-height:38px}
@keyframes movie-spin{from{transform:rotate(0deg)}to{transform:rotate(var(--wheel-end))}}
.movie-tv .movie-wheel-wrap{width:calc(100vh - 390px);height:calc(100vh - 390px);width:min(72vw,calc(100vh - 390px),700px);height:min(72vw,calc(100vh - 390px),700px);min-width:180px;min-height:180px;max-width:80vw;max-height:80vw}
.movie-tv:has(.movie-wheel-wrap) .movie-tv-content{padding-top:18px;padding-bottom:16px}
.movie-tv:has(.movie-wheel-wrap) h1{margin:8px 0 17px}
@media(prefers-reduced-motion:reduce){.movie-wheel.is-spinning{animation:none}}
@media(max-width:1100px){.movie-plan-layout{grid-template-columns:minmax(0,1fr);gap:20px}.movie-plan-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.movie-plan-card{padding:22px}.movie-film-content .field>span{font-size:13px}.movie-entry .btn{font-size:13px}.movie-host-launch h2{font-size:30px}.movie-film-actions button{min-height:44px;font-size:12px}}
@media(max-width:650px){.movie-plan-side{display:flex}.movie-plan-layout{margin-top:18px}.movie-plan-card{padding:20px 16px}.movie-section-heading{gap:10px}.movie-section-heading h2{font-size:25px}.movie-section-heading>span{min-width:34px;height:34px;font-size:18px}.movie-image-pair{gap:8px}.movie-image-slot img,.movie-image-placeholder{height:100px}.movie-film-row{gap:8px}.movie-film-number{font-size:18px;min-width:22px}.movie-upload-label{font-size:11px;min-height:48px}.movie-film-actions{gap:4px}.movie-film-actions button{font-size:11px}.movie-film-heading>span{font-size:9px}.movie-host-launch{padding:25px}.movie-tv{padding:0 5vw}.movie-tv-top{padding:15px 0;min-height:65px;gap:10px}.movie-tv-top>span{font-size:14px}.movie-tv-top b{display:none}.movie-fullscreen{font-size:10px;padding:8px}.movie-tv h1{font-size:31px;margin:12px 0 19px}.movie-tv-content{padding-top:25px}.movie-tv-content>.eyebrow{font-size:10px}.movie-wheel-wrap{width:260px;height:260px;max-width:75vw;max-height:75vw}.movie-turn-name{font-size:27px}.movie-reveal{flex-direction:column;gap:19px;text-align:center}.movie-reveal>img{max-width:90%;max-height:34vh}.movie-reveal h2{font-size:32px}.movie-scene-frame img{height:34vh}.movie-tv .movie-controls{gap:8px}.movie-tv .movie-controls .btn{font-size:13px;flex-basis:120px}.movie-tv>footer{font-size:8px;gap:9px;line-height:1.8}.movie-tv .team-demo-view{font-size:11px}}
@media(max-height:550px) and (min-width:651px){.movie-tv-top{min-height:45px;padding:8px 0}.movie-tv-content{padding:12px 0}.movie-tv h1{font-size:28px;margin:7px 0}.movie-wheel-wrap{width:170px;height:170px}.movie-turn-name{font-size:24px;margin-top:0}.movie-tv .movie-controls{margin-top:9px}.movie-tv .movie-controls .btn{min-height:39px}.movie-scene-frame img{height:35vh}.movie-tv>footer{padding:8px}.movie-reveal>img{max-height:32vh}}
@media(max-width:650px){.movie-tv .movie-wheel-wrap{width:260px;height:260px;min-width:0;min-height:0;max-width:75vw;max-height:75vw}}
@media(max-height:550px) and (min-width:651px){.movie-tv .movie-wheel-wrap{width:calc(100vh - 240px);height:calc(100vh - 240px);min-width:140px;min-height:140px;max-width:65vw;max-height:65vw}}

.movie-bulk-import{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:22px}.movie-bulk-import>label{position:relative;display:flex;justify-content:center;align-items:center;text-align:center;min-height:47px;padding:10px;background:#ecf1e2;color:#547042;border:1px solid #d5dfc6;border-radius:8px;font-size:12px;cursor:pointer}.movie-bulk-import input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.movie-bulk-import>label:focus-within{outline:2px solid #b39356;outline-offset:2px}.movie-bulk-import>p,.movie-bulk-import>div{grid-column:1/-1;font-size:11px;color:#8a987a;line-height:1.8}.movie-bulk-import>div:empty{display:none}.movie-bulk-import>div{color:#4f7540;padding:10px;background:#eaf2df;border-radius:6px}

.movie-setup-link{display:block;border:0;background:none;color:#8c967e;font-size:11px;min-height:39px;margin-top:4px;padding:7px 0;text-align:left}.movie-setup-link:hover{color:#526e40}.movie-end-link{display:block;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#a16e55;font-size:12px;min-height:44px;margin:18px auto 0}.movie-entry{grid-column:1/-1}

.movie-wheel-stage>footer{display:none}.movie-wheel-stage .movie-tv-content{padding-top:18px;padding-bottom:16px}.movie-wheel-stage h1{margin:8px 0 17px}

.movie-wheel-label{paint-order:stroke;stroke:#163e3299;stroke-width:.7px;letter-spacing:.1px}
.movie-chosen-card{position:absolute;z-index:5;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}
.movie-selected-name{position:relative;z-index:2;width:max-content;min-width:65%;max-width:min(85vw,820px);padding:25px 38px 28px;border:2px solid #e1bd77;border-radius:20px;background:linear-gradient(130deg,#1d493df7,#102e27fa);box-shadow:0 18px 75px #071b18bb,0 0 0 9px #d8b06518;animation:movie-name-pop 1.05s cubic-bezier(.2,.8,.2,1) both;text-align:center}
.movie-selected-name small{display:block;font:11px sans-serif;text-transform:uppercase;letter-spacing:4px;color:#d4c28e;white-space:nowrap}
.movie-selected-name strong{display:block;font:700 72px/1.06 Georgia,serif;font:700 clamp(40px,5.5vw,94px)/1.06 Georgia,serif;color:#ffe2a1;margin:15px 0 13px;overflow-wrap:anywhere;text-shadow:0 4px 25px #c5a15a44}
.movie-selected-name>span{font:19px Georgia,serif;color:#e1e9cf;letter-spacing:1px}
.movie-chosen-spark{position:absolute;z-index:1;top:13%;right:9%;color:#efd188;font-size:65px;animation:movie-chosen-spark 1.2s ease-out both}
.movie-chosen-card:after{content:'✧';position:absolute;bottom:11%;left:10%;color:#efd188;font-size:95px;animation:movie-chosen-spark 1.35s .1s ease-out both}
.movie-tv .movie-controls+.team-demo-view{align-self:center;text-align:center;margin-top:11px;min-height:32px}
@keyframes movie-name-pop{0%{opacity:0;transform:translateY(75px) scale(.2) rotate(-7deg)}55%{opacity:1;transform:translateY(-12px) scale(1.13) rotate(2deg)}78%{transform:translateY(5px) scale(.96) rotate(-1deg)}100%{opacity:1;transform:translateY(0) scale(1) rotate(0)}}
@keyframes movie-chosen-spark{0%{opacity:0;transform:scale(0) rotate(-80deg)}60%{opacity:1;transform:scale(1.2) rotate(10deg)}100%{opacity:.8;transform:scale(1) rotate(0)}}
@media(max-width:650px){.movie-selected-name{min-width:85%;padding:18px 20px;border-radius:14px}.movie-selected-name small{font-size:9px;letter-spacing:2px}.movie-selected-name strong{font-size:40px;margin:12px 0}.movie-selected-name>span{font-size:16px}.movie-chosen-spark{font-size:35px}.movie-chosen-card:after{font-size:45px}}
@media(prefers-reduced-motion:reduce){.movie-selected-name,.movie-chosen-spark,.movie-chosen-card:after{animation:none}}
@media(max-width:650px) and (max-height:600px){.movie-tv .movie-wheel-wrap{width:190px;height:190px}.movie-wheel-stage .movie-tv-content{padding-top:12px;padding-bottom:12px}}

.movie-prepared-button{grid-column:1/-1;font-size:13px;min-height:49px}

/* Christmas Heads Up */
.plan-add-actions{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.plan-add-actions .plan-add{min-width:0}.plan-list-heading{flex-wrap:wrap}
.heads-plan-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(270px,.8fr);gap:24px;margin:24px 0}.heads-plan-card{padding:25px;min-width:0}.heads-plan-card h2{font:27px/1.25 var(--serif);color:#2d513b;margin-bottom:17px}.heads-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:22px}.heads-card-heading h2{margin-bottom:8px}.heads-card-heading p,.heads-note{font-size:12px;line-height:1.85;color:#869477}.heads-note{margin:15px 0}.heads-count{font-size:10px;color:#7d824e;background:#f0ecd9;border:1px solid #e0d7b8;padding:7px 9px;border-radius:6px;white-space:nowrap}.heads-plan-side{display:flex;flex-direction:column;gap:23px;min-width:0}.heads-instructions{background:#204b39;color:#c6d6b8;border-radius:14px;padding:28px}.heads-instructions .eyebrow{color:#d2b472;font-size:10px}.heads-instructions h2{font:34px/1.2 var(--serif);color:#ffefce;margin:16px 0}.heads-instructions p{font-size:13px;line-height:1.9;margin:14px 0}.heads-instructions .btn{background:#dfbf80;border-color:#dfbf80;color:#234732;margin-top:14px;font-size:13px;min-height:48px}.heads-instructions .heads-note{color:#a3ba95;font-size:11px}.heads-prompt-tools{display:flex;gap:12px;align-items:center;margin-top:20px}.heads-prompt-tools label{flex:1;min-width:0}.heads-prompt-tools input{width:100%;min-width:0}.heads-prompt-tools button{background:none;border:0;color:#9c7750;font-size:11px;min-height:44px;padding:5px 0}.heads-prompt-tools button:disabled{opacity:.35}.heads-add-prompt{display:flex;gap:9px;margin:12px 0 18px}.heads-add-prompt input{min-width:0;flex:1}.heads-add-prompt .btn{font-size:12px;min-width:70px;padding:10px}.heads-prompt-row{display:flex;gap:12px;align-items:flex-start;border-top:1px solid #e1e6d7;padding:15px 0;min-width:0}.heads-prompt-row>span{font:18px var(--serif);color:#ad9b75;padding-top:10px;min-width:24px}.heads-prompt-row>label{flex:1;min-width:0}.heads-prompt-row textarea{width:100%;resize:vertical;min-height:63px;padding:11px 12px;font-size:13px;line-height:1.6;scrollbar-width:none}.heads-prompt-row textarea::-webkit-scrollbar{display:none}.heads-prompt-row small{display:block;font-size:9px;text-transform:uppercase;letter-spacing:1px;color:#a0814f;margin:7px 0 1px}.heads-remove{display:flex;align-items:center;justify-content:center;gap:4px;color:#ad725d;background:none;border:0;min-width:70px;min-height:44px;font-size:10px;padding:10px 0}.heads-restore{display:block;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#8c7950;font-size:12px;min-height:44px;padding:8px 0}.heads-players{border:1px solid #dbe3d1;border-radius:9px;margin-top:19px}.heads-players summary{padding:14px;color:#5b7949;font-size:13px;cursor:pointer}.heads-plan-card .field input[type=number]{width:100%;max-width:200px}.heads-host-round{padding:33px;border:1px solid #d5dcbc;border-radius:16px;background:linear-gradient(135deg,#224d3b,#14372e);color:#ceddc1;text-align:center;margin:25px 0}.heads-host-round>.eyebrow{font-size:11px;color:#d6ba80}.heads-host-round h2{font:39px/1.2 var(--serif);color:#ffefd2;margin:17px 0 11px}.heads-host-round>p{font-size:13px;line-height:1.85;color:#c3d2b4;max-width:650px;margin:12px auto}.heads-host-round .heads-current-player{font:26px var(--serif);color:#dfc58b}.heads-host-prompt{font:32px/1.35 var(--serif);background:#f8f2df;color:#2a4d37;border:2px solid #d3b777;border-radius:13px;padding:32px 26px;margin:24px auto;max-width:850px;overflow-wrap:anywhere;box-shadow:0 10px 25px #07291d44}.heads-live-timer{font:38px var(--serif);color:#e8c98c;margin:13px 0}.heads-live-timer:empty{display:none}.heads-round-stats{display:flex;justify-content:center;gap:35px;margin:20px 0;color:#c5d6b7;font-size:12px}.heads-round-stats strong{display:block;font:31px var(--serif);color:#f4dca6;margin-bottom:5px}.heads-round-controls{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:800px;margin:24px auto 0}.heads-round-controls .btn{flex:1 1 180px;background:#dfbf80;border-color:#dfbf80;color:#234732;min-height:49px;font-size:13px}.heads-round-controls .secondary{background:transparent;color:#dae3c9;border-color:#6d8c69}.heads-live-remove{display:block;border:0;background:none;color:#b9bea0;text-decoration:underline;text-underline-offset:3px;font-size:11px;min-height:40px;margin:13px auto 0}.heads-saved-prompts{padding:20px 25px;margin:24px 0}.heads-saved-prompts summary{font-size:13px;color:#587348;cursor:pointer;min-height:25px}.heads-saved-prompts ol{padding-left:21px;margin-top:19px}.heads-saved-prompts li{padding:9px 0;color:#7c8d6d;font-size:12px;line-height:1.7}.heads-saved-prompts small{display:block;color:#ae7a5f;font-size:10px;margin-top:4px}.heads-phone-notice{padding:23px;margin:23px 0;border-radius:14px;background:#e9edd9;border:1px solid #d2dbba;color:#64804b}.heads-phone-notice .eyebrow{font-size:10px;color:#9c824c}.heads-phone-notice h2{font:26px var(--serif);color:#365a39;margin:13px 0}.heads-phone-notice p{font-size:13px;line-height:1.85}.heads-phone-notice .btn{min-height:46px;margin-top:16px;font-size:13px;text-decoration:none}
.heads-board{display:flex;flex-direction:column;min-height:100vh;min-height:var(--screen-height,100vh);padding:0 5vw;background:radial-gradient(ellipse at top,#355d47,#112e27 80%);color:#dae6cd;text-align:center}.heads-board>header{display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:70px;padding:15px 0;border-bottom:1px solid #b4c99c30;color:#e0c48a;font:17px Georgia,serif}.heads-board>header button{background:none;border:1px solid #7a936e;border-radius:7px;min-height:40px;padding:8px 13px;color:#dce5cd;font-size:11px}.heads-board>section{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;padding:30px 0;min-width:0}.heads-board .eyebrow{color:#c6b17b;font-size:10px;letter-spacing:2px}.heads-board h1{font:700 48px/1.2 Georgia,serif;color:#ffedbf;max-width:1100px;margin:25px 0;overflow-wrap:anywhere}.heads-board .heads-board-word{font:700 48px/1.18 Georgia,serif;font-size:clamp(28px,7vw,82px)}.heads-board p{font-size:14px;line-height:1.85;color:#bacead;max-width:650px}.heads-board-timer{font:43px Georgia,serif;color:#e1c17b;margin:25px 0 0}.heads-board-timer:empty{display:none}.heads-board>footer{padding:18px 0;border-top:1px solid #b4c99c30;color:#8fa881;font-size:11px;line-height:1.7}
@media(max-width:1100px){.heads-plan-layout{grid-template-columns:1fr}.heads-plan-side{display:grid;grid-template-columns:1fr 1fr;gap:20px}.heads-plan-card{padding:23px}.heads-prompt-row textarea{font-size:16px}.heads-host-prompt{font-size:29px}.heads-remove{font-size:11px}}
@media(max-width:650px){.heads-plan-side{display:flex}.heads-plan-card{padding:21px 17px}.heads-card-heading{gap:10px}.heads-card-heading h2{font-size:25px}.heads-count{font-size:9px;padding:6px}.heads-prompt-row{gap:8px}.heads-prompt-row>span{min-width:20px;font-size:16px}.heads-remove{min-width:43px;flex-direction:column;font-size:9px;gap:3px}.heads-prompt-row textarea{padding:9px;font-size:16px;min-height:75px}.heads-card-heading p{font-size:12px}.heads-prompt-tools{gap:9px;flex-wrap:wrap}.heads-prompt-tools label{min-width:120px}.heads-prompt-tools button{font-size:11px}.heads-instructions{padding:25px}.heads-instructions h2{font-size:32px}.heads-host-round{padding:25px 17px}.heads-host-round h2{font-size:33px}.heads-host-prompt{font-size:26px;padding:23px 17px}.heads-host-round .heads-current-player{font-size:24px}.heads-round-controls{gap:9px}.heads-round-controls .btn{font-size:13px;flex-basis:130px}.heads-board>header{font-size:14px;min-height:59px}.heads-board>header button{font-size:10px;padding:7px 9px}.heads-board>section{padding:25px 0}.heads-board h1{font-size:35px}.heads-board p{font-size:12px}.heads-board>footer{font-size:10px}.heads-saved-prompts{padding:20px}}
@media(max-width:480px){.plan-add-actions{width:100%;margin-left:0;display:grid;grid-template-columns:1fr 1fr}.plan-add-actions .plan-add{width:100%}}
@media(max-height:500px) and (min-width:500px){.heads-board>header{min-height:44px;padding:7px 0;font-size:14px}.heads-board>header button{min-height:32px}.heads-board>section{padding:12px 0}.heads-board .heads-board-word{font-size:32px;max-width:1100px;margin:14px 0}.heads-board-timer{font-size:30px;margin-top:13px}.heads-board p{font-size:11px}.heads-board>footer{font-size:10px;padding:8px 0}}

.heads-save-plan{position:sticky;top:10px;z-index:3;box-shadow:0 3px 12px #173c2520}
@media(max-width:1100px){.heads-plan-side{order:-1}}

.heads-rules{background:#eef2e3;border:1px solid #d9e2cb;border-radius:9px;padding:15px;margin:16px 0 21px;color:#6b8354}.heads-rules>strong{font:23px Georgia,serif;color:#456638}.heads-rules p{font-size:12px;line-height:1.8;margin:8px 0}.heads-rules>span{display:block;font-size:11px;color:#8e8255;line-height:1.7}.heads-your-group{padding:12px;border:1px solid #cad7b5;border-radius:8px;background:#f5f7ed}.heads-your-group strong{color:#49673b}.heads-group-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:16px;margin:18px 0 27px}.heads-group-card{padding:20px;border-color:#dce3cf}.heads-group-card.active{border-color:#b69b61;background:#faf5e5}.heads-group-card h3{font:25px Georgia,serif;color:#4b6a3e;margin:0 0 16px}.heads-group-card>div{display:flex;gap:12px;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid #e4e8d9;color:#6a8058;font-size:13px}.heads-group-card span{min-width:0;overflow-wrap:anywhere}.heads-group-card small{display:block;color:#a0a685;font-size:10px;line-height:1.8;margin-top:4px}.heads-group-card>div>strong{font:20px Georgia,serif;white-space:nowrap;color:#9a7d42}.heads-board-passes{font-size:15px;line-height:1.6;color:#e1c68f;margin:20px 0 0;padding:10px 17px;background:#c9bb7b12;border:1px solid #b9bb7d42;border-radius:8px}.heads-group-cluers{color:#e6d49d!important}.heads-prompt-row textarea{font-family:inherit}.heads-prompt-tools input,.heads-add-prompt input{min-height:44px;border:1px solid #d9dfce;border-radius:8px;background:#fffef9;color:#4c6940;padding:10px 12px;font:14px -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;box-sizing:border-box}
@media(max-width:650px){.heads-group-grid{grid-template-columns:1fr}.heads-board-passes{font-size:12px;margin-top:16px}.heads-prompt-tools input,.heads-add-prompt input{font-size:16px}.heads-rules>strong{font-size:24px}}
@media(max-height:500px) and (min-width:500px){.heads-board-passes{font-size:12px;margin-top:10px;padding:6px 12px}}

/* Candle challenge: individual results stay readable on small phones. */
.candle-title{max-width:900px;font-size:clamp(30px,4vw,48px);line-height:1.1;overflow-wrap:break-word}
.candle-rule{display:flex;gap:22px;align-items:center;padding:26px;margin-bottom:24px;background:#f4f1e6}
.candle-rule h2{margin:0 0 10px}.candle-rule p{margin:8px 0;color:#687565;font-size:14px;line-height:1.6}
.candle-illustration{font-size:36px;white-space:nowrap}.candle-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.candle-toolbar strong{font-size:14px;color:#486151}.candle-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px}
.candle-result{min-width:0;padding:24px}.candle-player{display:flex;align-items:center;gap:12px;margin-bottom:24px}.candle-player h2{font-size:23px;margin:0 0 5px}.candle-player small{color:#74806b;font-size:12px}
.candle-result label{font-size:13px;font-weight:600;color:#294b3a}.candle-input-row{display:flex;align-items:center;gap:12px;margin:10px 0 18px}.candle-input-row input{width:100%;min-width:0;font:inherit;font-size:24px;font-weight:600;background:#fffef9;border:1px solid #d9ddcd;border-radius:10px;padding:14px;color:#173e32}.candle-input-row output{white-space:nowrap;background:#ece6d3;color:#294b3a;padding:12px;border-radius:8px;font-size:14px;font-weight:600}
.candle-result:focus-within{border-color:#bfa36d}
@media(max-width:620px){.candle-rule{padding:20px;gap:12px;align-items:flex-start}.candle-illustration{font-size:24px;white-space:normal;max-width:40px}.candle-results{grid-template-columns:1fr}.candle-result{padding:20px}.candle-toolbar .btn{width:100%}.plan-add-actions{flex-wrap:wrap}.plan-add-actions .btn{flex:1 1 110px;white-space:nowrap}}
@media(max-width:340px){.candle-rule{display:block}.candle-illustration{display:block;max-width:none;margin-bottom:14px}.candle-input-row{gap:8px}.candle-input-row output{padding:10px;font-size:12px}}

@media(max-width:480px){.plan-add-actions .plan-add:only-child{grid-column:1 / -1}}


/* Animated how-to-play stories: code-native art scales cleanly from phone to TV. */
.how-launch{margin-top:12px;gap:8px!important}.how-launch>span{color:#b38f4e;font-size:11px}.how-page-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.how-page-actions .how-launch{margin:0}
dialog.how-dialog{width:min(760px,calc(100vw - 32px));max-width:760px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);padding:25px;overflow-y:auto;border-radius:24px;background:#fbf8ef;border:1px solid #d7d9c8;box-shadow:0 25px 100px #102a2370;color:#173f32}
.how-dialog .dialog-head{margin-bottom:15px;align-items:center;gap:12px}.how-dialog .dialog-head h2{font:24px Georgia,serif;line-height:1.25;margin:0}.how-dialog .dialog-head .icon-button{flex-shrink:0}
.how-kicker{font-size:11px;color:#8b784f;letter-spacing:1.4px;text-transform:uppercase;margin-bottom:14px;font-weight:600}.how-stage{background:radial-gradient(ellipse at 50% 20%,#315b46,#13392e);border-radius:17px;overflow:hidden;position:relative;border:1px solid #cdb17866;isolation:isolate}.how-art{display:block;width:100%;height:auto;max-height:320px;animation:how-scene-in .45s ease both}.how-art text{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}.how-stage-footer{display:flex;justify-content:space-between;gap:12px;padding:3px 20px 17px;color:#d9c795;font-size:9px;letter-spacing:1.3px}.how-progress{height:3px;background:#ffffff10}.how-progress>span{display:block;width:100%;height:100%;background:#dfbf78;transform:scaleX(0);transform-origin:left}.how-playing .how-progress>span{animation:how-progress var(--how-duration,8500ms) linear both}.how-paused .how-progress>span{background:#dfbf7866;transform:scaleX(1)}
.how-caption{padding:22px 3px 0;min-height:145px}.how-step-label{font-size:10px;letter-spacing:1.6px;color:#a28851;font-weight:700}.how-caption h3{font:32px Georgia,serif;line-height:1.15;color:#173f32;margin:8px 0 12px}.how-caption p{font-size:14px;line-height:1.75;color:#657360;margin:0!important}.how-dots{display:flex;justify-content:center;gap:4px;margin:12px 0}.how-dots button{border:0;background:transparent;min-width:38px;min-height:36px;padding:10px;display:grid;place-items:center;border-radius:20px}.how-dots button span{display:block;width:7px;height:7px;border-radius:10px;background:#d8decc;transition:width .2s,background .2s}.how-dots button[aria-pressed=true] span{width:22px;background:#9c824c}.how-controls{display:grid;grid-template-columns:1fr 1.15fr 1fr;gap:10px}.how-controls .btn{min-height:46px;justify-content:center}.how-bottom{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-top:17px}.how-bottom button{border:0;background:none;padding:8px 0;font-size:12px;font-weight:600;color:#8b7448}.how-bottom>span{font-size:10px;color:#849078;text-align:right;line-height:1.5}.how-dialog button:focus-visible{outline:3px solid #c8ad6a;outline-offset:3px}
.how-guide-wheel{transform:rotate(-30deg);animation:how-wheel 3.4s cubic-bezier(.14,.65,.12,1) both}.how-spotlight{animation:how-pop .7s 3.2s cubic-bezier(.2,1.5,.35,1) both;transform-origin:437px 134px}.how-sparkles{animation:how-shimmer 3s ease-in-out infinite alternate}.how-train{animation:how-train 3s ease-out both}.how-puff{animation:how-puff 2.2s ease-out infinite;transform-origin:390px 140px}.how-question{animation:how-tilt 1.5s ease-in-out infinite alternate;transform-origin:482px 80px}.how-race-phone{transform-origin:0 80px}.how-race-1{animation:how-tap-bounce .55s 1.2s both}.how-tap{animation:how-tap-glow 2.4s ease-in-out infinite}.how-race-0 .how-tap{animation-delay:.3s}.how-race-2 .how-tap{animation-delay:.6s}.how-first{animation:how-pop .5s 1.5s both;transform-origin:300px 235px}.how-cover{animation:how-cover .9s ease both;transform-origin:260px 135px}.how-score-pop{animation:how-pop .8s 1.1s cubic-bezier(.2,1.4,.3,1) both;transform-origin:440px 130px}.how-turn-phone{animation:how-phone-round 6s ease-in-out infinite}.how-team-member{animation:how-team-in .8s calc(var(--i)*.2s) ease both}.how-group-point{animation:how-point-up .7s calc(1s + var(--i)*.18s) cubic-bezier(.2,1.5,.35,1) both}.how-phone-lift{animation:how-lift 1.8s ease both}.how-actor{animation:how-act 1.8s ease-in-out infinite;transform-box:fill-box;transform-origin:center bottom}.how-actor:nth-of-type(3){animation-delay:.4s}.how-pass-token{animation:how-pass-away .7s calc(1s + var(--i)*1s) both;transform-box:fill-box;transform-origin:center}.how-pass-end{animation:how-pop .6s 3.8s both;transform-origin:300px 217px}.how-breath-person .how-person-body{animation:how-breathe 2.5s ease-in-out both;transform-origin:center bottom}.how-wind{animation:how-wind 2s .8s ease-out both;transform-origin:175px 130px}.how-flame{animation:how-flicker .5s ease-in-out infinite alternate;transform-origin:0 -7px}.how-smoke{opacity:0}.how-blow-out .how-flame{animation:how-out .35s calc(1.1s + var(--i)*.28s) both;transform-origin:0 -7px}.how-blow-out .how-smoke{animation:how-smoke 2s calc(1.2s + var(--i)*.28s) both}.how-out .how-flame{opacity:0;animation:none}.how-candle-pair{animation:how-point-up .6s calc(.8s + var(--i)*.6s) both}.how-save-glow{animation:how-save 2.6s ease both}.how-paused .how-art *{animation:none!important}.how-paused .how-blow-out .how-flame{opacity:0}.how-paused .how-pass-token{opacity:.2}
@keyframes how-scene-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes how-progress{to{transform:scaleX(1)}}
@keyframes how-wheel{from{transform:rotate(-1470deg)}to{transform:rotate(-30deg)}}
@keyframes how-pop{0%{opacity:0;transform:scale(.45)}65%{opacity:1;transform:scale(1.08)}100%{opacity:1;transform:scale(1)}}
@keyframes how-shimmer{from{opacity:.35}to{opacity:.9}}
@keyframes how-train{from{transform:translateX(-40px)}to{transform:translateX(0)}}
@keyframes how-puff{from{opacity:.7;transform:translate(0,0) scale(.8)}to{opacity:0;transform:translate(-20px,-17px) scale(1.2)}}
@keyframes how-tilt{from{transform:rotate(-7deg)}to{transform:rotate(7deg)}}
@keyframes how-tap-bounce{0%,100%{transform:translateY(0)}40%{transform:translateY(-10px)}70%{transform:translateY(3px)}}
@keyframes how-tap-glow{0%,100%{opacity:.55}45%{opacity:1}}
@keyframes how-cover{from{opacity:0;transform:perspective(500px) rotateY(-70deg)}to{opacity:1;transform:perspective(500px) rotateY(0)}}
@keyframes how-phone-round{0%,22%{transform:translateX(0)}34%,55%{transform:translateX(135px)}67%,88%{transform:translateX(270px)}100%{transform:translateX(0)}}
@keyframes how-team-in{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes how-point-up{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:translateY(0)}}
@keyframes how-lift{0%,15%{transform:translate(0,75px) rotate(6deg);opacity:.2}100%{transform:translate(0,0) rotate(0);opacity:1}}
@keyframes how-act{0%,100%{rotate:-3deg}50%{rotate:3deg}}

@keyframes how-pass-away{to{opacity:.18;transform:scale(.8)}}
@keyframes how-breathe{0%,100%{transform:scale(1)}40%{transform:scale(1.04)}70%{transform:scale(.98)}}
@keyframes how-wind{0%{opacity:0;transform:translateX(-8px)}30%{opacity:.9}100%{opacity:0;transform:translateX(27px)}}
@keyframes how-flicker{from{transform:scaleX(.86) rotate(-3deg)}to{transform:scaleX(1.1) rotate(3deg)}}
@keyframes how-out{to{opacity:0;transform:scale(0) rotate(30deg)}}
@keyframes how-smoke{0%{opacity:0;transform:translateY(4px)}25%{opacity:.6}100%{opacity:0;transform:translateY(-18px)}}
@keyframes how-save{0%,35%{fill:#41654e}50%,100%{fill:#ad8d4b}}
@media(max-width:600px){dialog.how-dialog{padding:18px;width:calc(100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);border-radius:20px}.how-dialog .dialog-head h2{font-size:20px}.how-kicker{font-size:9px;letter-spacing:1px}.how-stage-footer{padding:2px 12px 12px;font-size:8px}.how-caption{padding-top:18px;min-height:174px}.how-caption h3{font-size:28px}.how-caption p{font-size:13px;line-height:1.65}.how-controls{gap:7px}.how-controls .btn{font-size:12px;padding:12px 8px}.how-bottom{gap:8px;margin-top:12px}.how-bottom>span{font-size:9px;max-width:160px}.how-bottom button{font-size:11px}.how-dots{margin:6px 0}.how-page-actions{width:100%}.how-page-actions .btn{flex:1 1 130px;justify-content:center}}
@media(max-width:340px){.how-dialog .dialog-head h2{font-size:18px}.how-caption h3{font-size:24px}.how-caption p{font-size:12px}.how-caption{min-height:200px}.how-bottom{align-items:flex-start}.how-bottom>span{max-width:120px}.how-dots button{min-width:32px}}
@media(max-height:550px) and (min-width:600px){dialog.how-dialog{max-width:850px}.how-guide{display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.how-kicker{grid-column:1 / -1;margin:0}.how-stage{grid-column:1;grid-row:2 / 5;align-self:center}.how-caption{grid-column:2;grid-row:2;min-height:0;padding:0}.how-caption h3{font-size:25px}.how-caption p{font-size:12px}.how-dots{grid-column:2;grid-row:3;margin:0}.how-controls{grid-column:2;grid-row:4}.how-bottom{grid-column:1 / -1;margin:0}.how-bottom>span{max-width:none}}
@media(prefers-reduced-motion:reduce){.how-art,.how-art *,.how-progress>span{animation:none!important;transition:none!important}.how-art .how-flame{opacity:1}.how-art .how-out .how-flame{opacity:0}.how-art .how-smoke{opacity:0}.how-progress>span{transform:scaleX(1)}}

@media(min-width:900px) and (min-height:551px){dialog.how-dialog{width:min(1000px,calc(100vw - 64px));max-width:1000px}.how-guide{display:grid;grid-template-columns:1.3fr 1fr;gap:12px 26px}.how-kicker{grid-column:1 / -1;margin:0}.how-stage{grid-column:1;grid-row:2 / 5;align-self:center}.how-art{max-height:none}.how-caption{grid-column:2;grid-row:2;padding:6px 0 0;min-height:185px}.how-caption h3{font-size:31px}.how-dots{grid-column:2;grid-row:3;margin:0}.how-controls{grid-column:2;grid-row:4}.how-bottom{grid-column:1 / -1;margin-top:6px}}
@media(max-height:550px) and (min-width:600px){dialog.how-dialog{padding:16px}.how-dialog .dialog-head{margin-bottom:8px}.how-dialog .dialog-head h2{font-size:20px}.how-guide{row-gap:8px}.how-dots button{min-height:28px;padding:6px}.how-controls .btn{min-height:38px;padding:9px 7px;font-size:11px}.how-bottom button{padding:5px 0}.how-bottom{min-height:26px}}

/* Each acting arm rotates around its shoulder; the hand visibly sweeps. */
.how-arm{transform-box:view-box;transform-origin:0 0;animation-duration:1.1s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}
.how-arm-left{animation-name:how-arm-left}.how-arm-right{animation-name:how-arm-right}.how-arm-delayed{animation-delay:-.55s}
@keyframes how-arm-left{from{transform:rotate(-30deg)}to{transform:rotate(28deg)}}
@keyframes how-arm-right{from{transform:rotate(30deg)}to{transform:rotate(-28deg)}}


.ana-rack{position:sticky;top:8px;z-index:4;background:linear-gradient(135deg,#173f32,#31563f);color:#f7edcf;border-radius:18px;padding:24px;margin-bottom:23px;box-shadow:0 9px 30px #143c2520}
.ana-rack-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;gap:12px}.ana-rack-heading>span{font-size:11px;text-transform:uppercase;letter-spacing:1.6px;color:#e1c88d}.ana-rack-heading>strong{font-size:27px;letter-spacing:2px;font-variant-numeric:tabular-nums;color:#fff4d4}
.ana-tile-row{display:flex;justify-content:center;gap:8px;margin:9px 0}.ana-letter{display:grid;place-items:center;width:42px;height:47px;background:#f7edcf;border-radius:6px;box-shadow:0 4px 0 #c9ab68;color:#173f32;font-size:25px;font-weight:700;font-family:Georgia,serif;animation:ana-tile .4s calc(var(--tile)*.025s) both}.ana-rack p{text-align:center;font-size:11px;margin:19px 0 0;color:#d1dcbc}
.ana-player-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(260px,1fr);gap:23px}.ana-entry,.ana-found{padding:26px}.ana-entry h2,.ana-found h2{font:29px Georgia,serif;color:#274b36;margin:17px 0 10px}.ana-entry>p,.ana-found>p{font-size:13px;line-height:1.7;color:#778469}.ana-stats{display:flex;gap:14px;padding-bottom:19px;border-bottom:1px solid #e5e7db}.ana-stats>div{flex:1;background:#f0f1e6;border-radius:12px;padding:16px}.ana-stats strong{display:block;font:32px Georgia,serif;color:#365639}.ana-stats span{font-size:11px;color:#718161}.ana-entry input{width:100%;box-sizing:border-box;border:1px solid #ced7be;border-radius:10px;background:#fffef8;color:#1b402e;padding:16px;font-size:20px;margin:10px 0 12px}.ana-entry input:focus{outline:2px solid #9eb289;outline-offset:2px}.ana-feedback{min-height:30px;margin-top:13px;font-size:13px;line-height:1.6;padding:0}.ana-feedback.yes{color:#416d3b}.ana-feedback.no{color:#a14f3d}.ana-next-point{margin-top:15px;color:#7e8a68;font-size:11px}.ana-next-point>div{height:7px;border-radius:6px;background:#e5eadb;margin-top:10px;overflow:hidden}.ana-next-point i{display:block;height:100%;background:#b49b58;transition:width .2s}
.ana-word-chips{display:flex;flex-wrap:wrap;gap:9px;margin-top:19px}.ana-word-chips>span{background:#edf1e4;border:1px solid #d7e0c9;border-radius:20px;color:#4d6a3a;padding:8px 13px;font-size:13px;text-transform:capitalize}.ana-word-chips>p{color:#8b957b;font-size:13px}
.ana-host-controls{padding:24px;display:flex;gap:20px;flex-wrap:wrap;align-items:center;margin-bottom:23px}.ana-host-controls>div{flex:1;min-width:180px}.ana-host-controls h2{margin:0 0 8px;font:29px Georgia,serif}.ana-host-controls p{font-size:13px;line-height:1.7;color:#778469}.ana-host-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.ana-player-result{padding:23px}.ana-player-result h2{font:25px Georgia,serif;margin:14px 0}.ana-player-result>div{font-size:12px;color:#778469}.ana-player-result>div strong{color:#335435;font-size:22px}.ana-player-result>div span{padding:0 8px}.ana-player-result summary{margin-top:18px;color:#8c794b;font-size:12px;cursor:pointer}.ana-player-result details p{font-size:12px;line-height:1.8;color:#788367;overflow-wrap:anywhere}.ana-bank{margin-top:24px;padding:25px}.ana-bank summary{font-size:14px;font-weight:600;color:#4f6d3b;cursor:pointer}.ana-bank p{font-size:13px;line-height:1.7;color:#7e8a6b}.ana-bank label{display:block;font-size:12px;margin:18px 0 8px}.ana-bank textarea{box-sizing:border-box;width:100%;font:14px monospace;padding:15px;border:1px solid #d4dcc7;border-radius:10px;margin-bottom:15px;background:#fffef8}.ana-finished{color:#647d49;font-weight:600}.ana-letter-art{animation:ana-tile .7s calc(var(--i)*.15s) both}
@keyframes ana-tile{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:750px){.ana-player-layout{grid-template-columns:1fr}.ana-rack{padding:18px 13px;top:5px}.ana-letter{width:29px;height:35px;font-size:21px}.ana-tile-row{gap:5px}.ana-rack-heading>span{font-size:9px;letter-spacing:1.1px}.ana-rack-heading>strong{font-size:25px}.ana-rack p{font-size:10px;line-height:1.6}.ana-entry,.ana-found{padding:22px}.ana-host-controls{padding:21px}.ana-host-controls>.btn{width:100%}}
@media(max-width:350px){.ana-letter{width:21px;height:29px;font-size:18px}.ana-tile-row{gap:3px}.ana-rack{padding:15px 9px}.ana-rack-heading>span{font-size:8px;letter-spacing:.7px}.ana-entry,.ana-found{padding:18px}.ana-stats>div{padding:13px}.ana-entry h2{font-size:25px}}
@media(max-height:500px) and (min-width:500px){.ana-rack{position:relative;top:0}.ana-tile-row{display:inline-flex;vertical-align:middle;margin:5px 8px}.ana-rack{text-align:center;padding:12px}.ana-rack-heading{margin-bottom:5px}.ana-rack p{margin-top:10px}}
@media(prefers-reduced-motion:reduce){.ana-letter,.ana-letter-art{animation:none}.ana-next-point i{transition:none}}


.cup-rules{display:flex;align-items:center;gap:20px;padding:24px;background:#f2efdf;margin-bottom:22px}.cup-rules>span{font-size:37px;color:#b19454}.cup-rules h2{font:27px Georgia,serif;color:#315033;margin:0 0 10px}.cup-rules p{font-size:13px;color:#73805f;line-height:1.8;margin:0}
.cup-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:18px}.cup-controls>strong{font-size:14px;color:#526b3c;margin-right:auto}.cup-controls .btn{font-size:12px}.cup-draft-note,.cup-match-label{font-size:13px;color:#8d7d4a;margin:17px 0 22px;line-height:1.6}.cup-scoreboard{display:grid;grid-template-columns:minmax(0,1fr) 45px minmax(0,1fr);align-items:center;gap:15px}.cup-team{padding:26px;text-align:center;min-width:0;align-self:stretch}.cup-team-green{background:linear-gradient(165deg,#f0f3e7,#fbfaf4);border-top:4px solid #63855c}.cup-team-red{background:linear-gradient(165deg,#f8ece4,#fbfaf4);border-top:4px solid #b56e59}.cup-team-mine{outline:2px solid #bd9c59;outline-offset:3px}.cup-team-top{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:10px;letter-spacing:1.5px;color:#7e865f}.cup-team-top>strong{background:#e7d8af;color:#776233;border-radius:10px;padding:5px 9px;letter-spacing:0}.cup-team h2{font:30px Georgia,serif;color:#315033;line-height:1.2;margin:17px 0 22px}.cup-team-red h2{color:#8e5344}.cup-score strong{display:block;font:82px Georgia,serif;color:#355739;line-height:1.15}.cup-team-red .cup-score strong{color:#a45b49}.cup-score>span{font-size:11px;text-transform:uppercase;letter-spacing:1.3px;color:#8c9475}.cup-score{padding:20px 0 26px}.cup-versus{font:22px Georgia,serif;text-align:center;color:#ac9560}.cup-player-pickers{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left}.cup-player-pickers label{font-size:11px;color:#7b8666}.cup-player-pickers select{box-sizing:border-box;width:100%;min-width:0;margin-top:7px;padding:12px 8px;border:1px solid #d8ddcb;border-radius:9px;background:#fffef7;color:#385a3e;font-size:14px}.cup-members{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;min-height:73px}.cup-members>div{display:flex;gap:9px;align-items:center;text-align:left;font-size:14px;color:#52683e}.cup-members small{display:block;color:#9c864f;font-size:10px;margin-top:3px}.cup-score-hint{font-size:11px;line-height:1.7;color:#8a9275;margin-bottom:0}.cup-your-pair{padding:12px 14px;background:#f2efd9;border-radius:10px;font-size:13px;color:#6f733f}.cup-waiting{padding:36px;text-align:center}.cup-waiting h2{font:32px Georgia,serif;color:#3b5d3c}.cup-waiting p{font-size:14px;color:#82906f;line-height:1.8}.cup-history{margin-top:25px;padding:25px}.cup-history summary{font-size:14px;color:#607847;cursor:pointer}.cup-history article{padding:17px 0;border-top:1px solid #e1e5d6;margin-top:13px}.cup-history strong{font-size:15px;color:#3a5a39}.cup-history p{font-size:12px;color:#84906f;line-height:1.6}
.how-cup-pump{animation:cup-pump .8s ease-in-out infinite alternate;transform-origin:center bottom}.how-cup-slide{animation:cup-slide 3s ease-in-out infinite}.how-cup-fall{animation:cup-fall 3.2s ease-in-out both;transform-origin:300px 166px}
@keyframes cup-pump{from{transform:translateY(-8px)}to{transform:translateY(8px)}}@keyframes cup-slide{0%,100%{transform:translateX(-24px)}50%{transform:translateX(36px)}}@keyframes cup-fall{0%,20%{transform:translate(0,0) rotate(0)}75%{transform:translate(219px,0) rotate(0)}100%{transform:translate(238px,65px) rotate(65deg);opacity:0}}
@media(max-width:800px){.cup-scoreboard{grid-template-columns:1fr}.cup-versus{padding:0}.cup-team{padding:23px}.cup-team h2{font-size:28px}.cup-controls>.btn{flex:1 1 130px}.cup-controls>strong{width:100%;margin:0 0 5px}.cup-rules{padding:21px 17px;align-items:flex-start;gap:12px}.cup-rules>span{font-size:25px}.cup-rules h2{font-size:25px}.cup-score strong{font-size:70px}.cup-player-pickers select{font-size:16px}}
@media(max-width:350px){.cup-player-pickers{grid-template-columns:1fr}.cup-team{padding:20px}.cup-team h2{font-size:26px}.cup-controls .btn{font-size:11px}.cup-rules{display:block}.cup-rules>span{display:none}.cup-members{gap:10px}}
@media(prefers-reduced-motion:reduce){.how-cup-pump,.how-cup-slide,.how-cup-fall{animation:none}}

@media(max-width:800px){.cup-team-live{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px 10px;text-align:left;padding:20px}.cup-team-live .cup-team-top{grid-column:1 / -1}.cup-team-live h2{grid-column:1;grid-row:2;margin:5px 0;font-size:24px}.cup-team-live .cup-members{grid-column:1;grid-row:3;min-height:0;justify-content:flex-start;gap:10px}.cup-team-live .cup-members>div{font-size:12px;gap:7px}.cup-team-live .cup-members .avatar{width:29px;height:29px;font-size:10px;flex-shrink:0}.cup-team-live .cup-score{grid-column:2;grid-row:2 / 4;align-self:center;text-align:center;padding:0}.cup-team-live .cup-score strong{font-size:58px}.cup-team-live .cup-score>span{font-size:8px;letter-spacing:.6px}.cup-team-live>.btn{grid-column:1 / -1;margin-top:7px}.cup-team-live .cup-score-hint{grid-column:1 / -1;margin:0;font-size:10px}.cup-versus{font-size:18px}}
@media(max-width:350px){.cup-team-live{grid-template-columns:minmax(0,1fr) 60px;padding:17px}.cup-team-live h2{font-size:22px}.cup-team-live .cup-score strong{font-size:50px}.cup-team-live .cup-members{gap:7px;flex-direction:column}}

@media(max-width:350px){.cup-team-live>.btn{font-size:11px;padding:12px 8px;white-space:normal;line-height:1.5}}

/* A fixture list keeps every pair-vs-pair match within reach on phones and desktops. */
.cup-fixtures{padding:22px;margin:20px 0 24px}.cup-fixtures-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.cup-fixtures-heading h2{margin:5px 0 7px}.cup-fixtures-heading p{margin:0;max-width:650px;color:var(--muted);font-size:13px;line-height:1.6}.cup-fixtures-heading>.btn{flex-shrink:0}.cup-fixture-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.cup-fixture-card{text-align:left;display:flex;flex-direction:column;gap:13px;min-width:0;border:1px solid #d5dfd3;background:#fbfcf7;border-radius:14px;padding:16px;color:#234a38;font:inherit;cursor:pointer}.cup-fixture-card:hover{border-color:#779a7b;background:#f3f7ed}.cup-fixture-selected{border:2px solid #356b4b;padding:15px;background:#f1f7e9;box-shadow:0 0 0 2px #356b4b12}.cup-fixture-top,.cup-fixture-footer{display:flex;justify-content:space-between;align-items:center;gap:8px}.cup-fixture-top>strong{font-size:14px}.cup-fixture-top .game-status{font-size:10px}.cup-fixture-pairs{display:flex;flex-direction:column;gap:5px;font-size:14px;font-weight:600;line-height:1.4;overflow-wrap:anywhere}.cup-fixture-pairs small{font-size:9px;letter-spacing:1.4px;color:#87937c}.cup-fixture-footer{margin-top:auto;padding-top:11px;border-top:1px solid #dce5d7;font-size:11px;color:#55714e}.cup-fixture-footer b{font-size:19px;letter-spacing:1px;color:#234a38}.cup-fixtures>.hint{margin:15px 0 0}.cup-fixture-card:focus-visible{outline:3px solid #b99b5d;outline-offset:3px}
@media(max-width:600px){.cup-fixtures{padding:16px;margin:16px 0 20px}.cup-fixtures-heading{display:block;margin-bottom:14px}.cup-fixtures-heading>.btn{width:100%;margin-top:14px}.cup-fixtures-heading h2{font-size:23px}.cup-fixture-grid{grid-template-columns:1fr}.cup-fixture-card{gap:10px;padding:13px}.cup-fixture-selected{padding:12px}.cup-fixture-pairs{font-size:13px}.cup-fixtures-heading p{font-size:12px}}

.cup-current-match{scroll-margin-top:24px}

.cup-timer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:22px 26px;margin:18px 0;background:#edf4e6;border:1px solid #c8d9bc}.cup-timer h2{margin:7px 0 6px;font-size:25px}.cup-timer p{margin:0;font-size:13px;line-height:1.6;color:#5e7258}.cup-clock{font-family:Georgia,serif;font-size:64px;line-height:1;letter-spacing:-2px;font-variant-numeric:tabular-nums;color:#234d37;white-space:nowrap}.cup-fixture-clock{font-size:13px;font-weight:700;font-variant-numeric:tabular-nums}.cup-clock-low{color:#a23e2e}.cup-timer-ended{background:#f8eddf;border-color:#dfc7a2}.cup-timer-ended h2,.cup-timer-ended .cup-clock{color:#9d452e}
@media(max-width:600px){.cup-timer{padding:18px;gap:14px}.cup-timer h2{font-size:22px}.cup-timer .eyebrow{font-size:9px;line-height:1.6}.cup-timer p{font-size:12px}.cup-clock{font-size:48px;letter-spacing:-1px}}
@media(max-width:350px){.cup-timer{padding:14px;gap:10px}.cup-timer h2{font-size:19px}.cup-clock{font-size:39px}.cup-fixture-footer{flex-wrap:wrap}}

.cup-correction-intro{font-size:14px;line-height:1.65;color:#61715c;margin:0 0 20px}.cup-final-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.cup-final-members{margin:4px 0 10px;font-size:12px;line-height:1.5;color:#718069;overflow-wrap:anywhere}.cup-final-grid input{font-size:24px;font-weight:600;font-variant-numeric:tabular-nums;min-height:54px}.cup-correction-error{font-size:13px;line-height:1.5;color:#a44332}.cup-correction-error:empty{display:none}
@media(max-width:420px){.cup-final-grid{grid-template-columns:1fr;gap:4px}.cup-correction-intro{font-size:13px}.cup-final-grid .field{margin-bottom:14px}}
