:root{--ink:#173b57;--blue:#155d91;--navy:#123c60;--yellow:#ffcc4a;--paper:#fffaf0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 system-ui,-apple-system,sans-serif}header{background:var(--navy);padding:14px max(5vw,20px);display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:5px solid #2779ab}a{color:var(--blue)}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:white;font-size:18px;font-weight:900;line-height:1.1;letter-spacing:1px}.brand img{width:58px;height:58px;border-radius:16px}.brand b{display:block;color:var(--yellow);font-size:26px;letter-spacing:4px}nav{display:flex;gap:24px;align-items:center}nav a{color:white;font-weight:700;text-decoration:none}main{max-width:1180px;margin:auto;padding:0 24px 56px}h1,h2,h3{line-height:1.15;letter-spacing:-1px}h1{font-size:clamp(36px,5vw,64px);margin:16px 0 22px;font-weight:900}h2{font-size:27px;margin:20px 0 14px}h3{font-size:20px}p{margin:10px 0 20px}.eyebrow{font-size:12px;font-weight:850;letter-spacing:2px;text-transform:uppercase;color:var(--blue)}.button{display:inline-block;border:2px solid transparent;border-radius:12px;padding:12px 22px;font:800 15px/1.3 system-ui;text-decoration:none;cursor:pointer;box-shadow:0 4px 0 #0002;transition:transform .15s}.button:hover{transform:translateY(-2px)}.yellow{background:var(--yellow);color:var(--ink);border-color:#e2a626}.blue{background:var(--blue);color:white}.outline{border-color:#bdd0d9;background:transparent;color:var(--ink);box-shadow:none}.large{padding:17px 25px;font-size:18px}.caption{font-size:13px;color:#506b7b;line-height:1.7}.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center;min-height:500px;padding:40px 0}h1 em{font-style:normal;color:#d58a18;text-decoration:underline;text-decoration-color:var(--yellow);text-underline-offset:10px}.art{transform:rotate(3deg);padding:18px;background:#d9eff5;border:6px solid white;border-radius:40px;box-shadow:0 12px 0 #d9e6de;text-align:center}.art img{display:block;width:100%;max-height:350px;object-fit:contain;border-radius:22px}.art span{display:block;font-size:12px;letter-spacing:2px;font-weight:850;margin:13px 0 3px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.three{grid-template-columns:repeat(3,1fr)}.card{background:white;border:1px solid #e5e9df;border-radius:22px;padding:28px;box-shadow:0 7px 0 #173b5708;margin-bottom:24px}.number{display:inline-flex;width:40px;height:40px;border-radius:12px;align-items:center;justify-content:center;background:var(--yellow);font-weight:900}.card p{color:#506b7b}#features h2{font-size:22px}.page-heading{padding:30px 0 15px}.page-heading h1{font-size:44px}.pill{display:inline-block;padding:5px 10px;border-radius:8px;background:#fff0bd;font-size:10px;letter-spacing:1px;font-weight:850}.mint{background:#d8f0df}.tip{background:#edf6fa;border-left:4px solid #66b5d2;padding:16px;border-radius:8px;margin:26px 0}.tip p{font-size:14px;margin:8px 0 0}.auth{max-width:480px;margin:36px auto}.auth h1{font-size:38px}label{display:block;font-size:13px;font-weight:750;margin:18px 0 7px}input,select,textarea{width:100%;padding:12px 14px;border:2px solid #d5e2e6;border-radius:10px;background:#fbfdfe;font:inherit;color:var(--ink)}textarea{font-size:13px;resize:vertical}form button,#invite,#copy-invite{margin-top:22px}button:disabled{opacity:.5;cursor:wait}input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:3px solid #ecac29;outline-offset:3px}#status:empty{display:none}#status{padding:15px 20px;background:#e5f1f6;border:1px solid #bfdbe5;border-radius:12px;margin:22px 0;overflow-wrap:anywhere}.stat{padding:20px;background:#e8f0f6;border-radius:16px;margin-bottom:24px}.stat strong{display:block;font-size:32px;font-weight:900}.stat span{font-size:12px;font-weight:700}ul{padding:0;list-style:none}li{border-top:1px solid #e5ecef;padding:13px 0;font-size:13px;overflow-wrap:anywhere}li button{padding:5px 10px;margin-left:10px;font-size:12px;box-shadow:none}table{width:100%;border-collapse:collapse;font-size:14px;margin:20px 0}th,td{text-align:left;padding:12px;border-bottom:1px solid #e5ecef}th{color:#617d8c;font-size:12px}footer{background:var(--navy);color:#b9d0df;text-align:center;padding:32px 20px;font-size:12px}footer a{color:var(--yellow);font-weight:850;text-decoration:none;font-size:20px}footer p{margin:12px 0}[hidden]{display:none!important}@media(max-width:850px){.hero{grid-template-columns:1fr;min-height:0}.art{max-width:420px;margin:auto}.three,.grid{grid-template-columns:1fr}.hero h1{font-size:54px}nav{gap:15px}nav a{font-size:13px}}@media(max-width:500px){header{padding:12px 16px;flex-wrap:wrap}.brand img{width:44px;height:44px}.brand b{font-size:22px}nav{width:100%;justify-content:space-between}main{padding:0 16px 30px}.card{padding:22px}.page-heading h1{font-size:36px}.button{padding:11px 16px}}@media(prefers-reduced-motion:reduce){.button{transition:none}}

.playground-hero{min-height:560px;margin:24px 0;border-radius:26px;display:flex;align-items:center;padding:56px;background:linear-gradient(90deg,#102d59cc,transparent 85%),url('/assets/playground-ttc.jpg') center/cover;color:white}.playground-hero .eyebrow{color:#ffdc75}.playground-hero h1{font-size:clamp(40px,5vw,68px)}.login-scene{margin:24px 0;border-radius:26px;min-height:620px;padding:32px 20px;background:linear-gradient(#173b5733,#173b5766),url('/assets/playground-ttc.jpg') center/cover}.auth{margin:0 auto;background:#fffaf0f5}.member-banner,.updates-banner{margin:24px 0;border-radius:22px;padding:38px;background:linear-gradient(90deg,#173b57dd,#173b5733),url('/assets/playground-ttc.jpg') center/cover;color:white}.member-banner h1,.updates-banner h1{font-size:42px}.member-banner .outline{border-color:#fff9;color:white}.download-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:32px}.download-row details{font-size:13px}.download-row details p{max-width:500px}summary{cursor:pointer;color:var(--blue)}.toon-card>span{font-size:32px;color:#edb32e}.toon-stat{display:flex;justify-content:space-between;padding:9px 0;border-top:1px solid #e5ecef}.toon-stat strong{color:var(--blue)}.news-card{max-width:850px;margin:24px auto}.news-card p{white-space:pre-wrap}.news-card time{font-size:12px;color:#68808d}#host{border-top:3px dashed #d3e0e5;margin-top:35px}#host .page-heading h1{font-size:30px}#host p:empty{display:none}#host .card h2{font-size:23px}@media(max-width:600px){.playground-hero{min-height:450px;padding:28px;background-position:35% center}.login-scene{padding:20px 12px;min-height:560px}.member-banner,.updates-banner{padding:24px}.member-banner h1{font-size:32px}}

.updates-banner{background-image:linear-gradient(90deg,#173b57dd,#173b5733),url('/assets/playground-dock.jpg')}

/* Full-height shell keeps the footer at the bottom without covering content. */
html{min-height:100%}body{min-height:100vh;min-height:100svh;display:flex;flex-direction:column}header,footer{flex-shrink:0}main{width:100%;flex:1 0 auto}footer{margin-top:auto}.playground-hero{min-height:520px}.playground-hero.dock-hero{background-image:linear-gradient(90deg,#102d59cc,transparent 85%),url('/assets/playground-dock.jpg')}.section-title{padding:32px 0 24px}.section-title h2{font-size:36px;margin:12px 0}.section-title p{color:#617b88}.destinations{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:36px}.destination{min-height:250px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;text-align:left;padding:28px;border:4px solid transparent;border-radius:22px;color:white;cursor:pointer;font:inherit;background-size:cover;background-position:center;box-shadow:0 7px 0 #173b570b;transition:transform .2s,border-color .2s}.destination:hover{transform:translateY(-4px)}.destination[aria-pressed=true]{border-color:#f7c64a}.destination.central{background-image:linear-gradient(0deg,#12365be8,transparent),url('/assets/playground-ttc.jpg')}.destination.dock{background-image:linear-gradient(0deg,#12365be8,transparent),url('/assets/playground-dock.jpg')}.destination span{font-size:11px;font-weight:850;letter-spacing:2px;color:#ffe599}.destination strong{font-size:29px;line-height:1.2;margin:10px 0}.destination small{font-size:13px}.home-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.challenge{background:#fff0b8;border-color:#f0d893}.challenge h2,.bulletin h2{font-size:26px}.challenge p{font-size:22px;line-height:1.5;color:#284b60;min-height:68px}.challenge small{display:block;font-size:11px;color:#758071;margin-top:18px}.bulletin h3{font-size:20px}.bulletin p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.text-link{font-weight:800;text-decoration:none}.welcome-strip{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:38px;background:#dceee4;border:1px solid #c2dfd2;border-radius:22px;margin:12px 0 40px}.welcome-strip h2{font-size:31px}.welcome-strip p{margin-bottom:0;color:#506b7b}.welcome-strip .button{flex-shrink:0}.help-section{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding:15px 0 20px}.help-section h2{font-size:30px}.help-section details{border-bottom:1px solid #dbe2dc;padding:17px 0}.help-section summary{font-size:16px;font-weight:750}.help-section p{font-size:14px;margin:12px 0 3px;color:#506b7b}.footer-inner{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:25px;max-width:1132px;margin:auto}.footer-inner nav a{font-size:13px;color:#d4e2ec}.footer-note{border-top:1px solid #ffffff20;padding-top:22px!important;margin-top:24px!important;color:#9fbacb}.footer-inner p{font-size:12px;margin-bottom:0}.footer-inner>a{font-size:20px}@media(max-width:700px){.destinations,.home-columns,.help-section{grid-template-columns:1fr}.destination{min-height:230px}.welcome-strip{align-items:flex-start;flex-direction:column;padding:26px}.footer-inner{flex-direction:column;text-align:center}.footer-inner nav{width:auto;flex-wrap:wrap;justify-content:center}.section-title h2{font-size:30px}.help-section{gap:0}.playground-hero{min-height:450px}}@media(prefers-reduced-motion:reduce){.destination{transition:none}}
