.home-top{border-top:3px solid #0000;border-image:var(--gradient) 1;padding:10px max(16px, env(safe-area-inset-left));background:var(--board);color:#ededed;justify-content:space-between;align-items:center;gap:1rem;display:flex}.wordmark{font:800 var(--step-1) / 1 var(--font-display);color:inherit;letter-spacing:-.02em;align-items:center;gap:8px;min-height:44px;text-decoration:none;display:inline-flex}.home-top .btn{color:#ededed}.home-top .btn:hover{background:#ffffff14}.hero .board{padding:clamp(20px,4vw,56px) clamp(16px,4vw,56px) clamp(28px,5vw,64px)}.hero .poster{max-width:1280px;margin-inline:auto}.hero-map{aspect-ratio:2.05;background:#ededed;width:100%}.hero-hint{z-index:3;background:var(--ink);color:var(--paper);font:600 var(--step-0) / 1.2 var(--font-display);pointer-events:none;box-shadow:var(--shadow);border-radius:999px;padding:.5em 1.1em;animation:2.4s ease-in-out infinite hint-bob;position:absolute;bottom:18%;left:50%;translate:-50%}@keyframes hint-bob{50%{translate:-50% -6px}}.hero-text{grid-template-columns:minmax(0,auto) minmax(0,36rem);align-items:end;gap:.75rem 3rem;max-width:1280px;margin:0 auto;padding:clamp(28px,5vw,56px) 16px 0;display:grid}.hero-text h1{font-size:clamp(var(--step-4), 6.5vw, 4.8rem);letter-spacing:-.035em;font-weight:800;line-height:.95}.lead{font:400 var(--step-1) / 1.5 var(--font-ui);color:var(--ink-soft);max-width:36rem}.home-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,56px);max-width:1280px;margin:0 auto;padding:clamp(28px,4vw,48px) 16px 64px;display:grid}.side{gap:2rem;display:grid}.panel{align-content:start;gap:.9rem;display:grid}.panel h2{font-size:var(--step-2)}.panel-lead{color:var(--ink-soft);max-width:60ch}.panel+.panel{border-top:1px solid var(--paper-3);padding-top:2rem}.create{background:var(--paper-2);border-radius:var(--radius-m);padding:clamp(20px,3vw,32px)}.create form{gap:1.1rem;display:grid}.create .btn-primary{justify-self:start;min-width:12rem}.templates{border:0;margin:0;padding:0}.tpl-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.tpl{border:1.5px solid var(--paper-3);border-radius:var(--radius-s);background:var(--paper);cursor:pointer;gap:2px;min-height:44px;padding:10px 12px;display:grid}.tpl:hover{border-color:var(--ink-faint)}.tpl:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.tpl:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.tpl-name{font-weight:700}.tpl-desc{font-size:var(--step--1);color:var(--ink-soft);line-height:1.3}.open-form{gap:8px;display:flex}.open-form .input{text-transform:uppercase;flex:1;min-width:0}.form-error{color:var(--danger);font-weight:500}.recent-list{margin:0;padding:0;list-style:none;display:grid}.recent-list li{border-bottom:1px solid var(--paper-3);align-items:center;display:flex}.recent-list a{min-width:0;color:var(--ink);flex:1;grid-template-columns:minmax(0,1fr) auto;gap:0 .75rem;padding:10px 0;text-decoration:none;display:grid}.recent-list a:hover .recent-title{text-decoration:underline}.recent-title{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.recent-date{font-size:var(--step--1);color:var(--ink-faint)}.role{font-size:var(--step--1);background:var(--paper-2);border-radius:999px;grid-row:span 2;align-self:center;padding:2px 8px}.role-edit{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}.code-row{background:var(--paper-2);border-radius:var(--radius-s);gap:.35rem;padding:.9rem 1rem;display:grid}.code-row .label{font-size:var(--step--1);color:var(--ink-soft)}.code-big{font-size:var(--step-2);word-break:break-all}.code-actions{flex-wrap:wrap;gap:6px;display:flex}.qr{border-radius:var(--radius-s);background:#fff;width:200px;max-width:100%;padding:6px}.site-footer{font-size:var(--step--1);justify-content:center;gap:1.5rem;padding:24px 16px 40px;display:flex}.site-footer:empty{display:none}@media (width<=860px){.hero-text,.home-grid{grid-template-columns:minmax(0,1fr)}.hero-map{aspect-ratio:1.6}}@media (width<=480px){.hero .board{padding:16px 12px 22px}.hero-map{aspect-ratio:1.7}.open-form{flex-direction:column}}.panel .hint{color:var(--ink-soft)}label.btn:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.hero-h1{align-items:center;gap:.18em;display:flex}.hero-h1 .logo-slot svg{width:.9em;height:.9em}
