:root{font-family:Inter,"Noto Sans JP",-apple-system,BlinkMacSystemFont,sans-serif;color:#172b32;background:#f7fafb;font-size:16px;line-height:1.7;--ink:#172b32;--teal:#006f75;--line:#d2dee2;--pale:#e3f0f1}*{box-sizing:border-box}body{margin:0}header{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px max(24px,calc((100vw - 1120px)/2));border-bottom:1px solid var(--line);background:#fff}header img{width:142px;height:auto;display:block}header span,.eyebrow{font-size:.8rem;font-weight:700;letter-spacing:.13em}main{max-width:1120px;margin:0 auto;padding:52px 24px}h1{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1.25;letter-spacing:-.035em;margin:16px 0 20px}h2{font-size:clamp(1.4rem,3vw,2rem);line-height:1.4;margin:8px 0 16px}h3{margin:0;font-size:1.15rem}.eyebrow{color:var(--teal)}.lead{font-size:1.125rem}.muted,footer{color:#516970;font-size:.9rem}nav{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}nav a{border-bottom:2px solid var(--line);padding:8px 14px;color:var(--ink);text-decoration:none}nav a:hover{border-color:var(--teal)}section{padding:32px 0;border-top:1px solid var(--line);scroll-margin-top:20px}button,.button{font:inherit;cursor:pointer;background:white;border:1px solid #94abb2;color:var(--ink);border-radius:8px;padding:12px 18px;min-height:48px}button:hover{background:var(--pale)}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #dd6d17;outline-offset:3px}button:disabled{opacity:.55;cursor:default}.primary{background:var(--teal);border-color:var(--teal);color:white}.primary:hover{background:#005358}.pass{display:grid;grid-template-columns:1fr auto;gap:30px;padding:30px;background:var(--ink);color:white;border-radius:16px;border:0}.pass .eyebrow{color:#92e4dd}.pass h2{font-size:2.2rem}.pass button{border:0}.pass canvas{max-width:100%;border-radius:10px}code{overflow-wrap:anywhere;display:block;font-size:.8rem;max-width:320px}.section-head{display:flex;justify-content:space-between;gap:20px;align-items:center}.tables{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}.table{border:1px solid var(--line);border-radius:12px;background:white;overflow:hidden}.table summary{cursor:pointer;padding:22px;min-height:150px}.table[open]{grid-column:span 2}.table-id{display:block;font-size:2.1rem;line-height:1.3;color:var(--teal);font-weight:800}.table summary small{display:block;margin-top:10px;color:#516970;font-size:.9rem}.members{padding:0 22px 22px}.member{display:flex;gap:14px;border-top:1px solid var(--line);padding:18px 0}.avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;background:var(--pale);display:grid;place-items:center;flex-shrink:0;font-weight:700}.member p{margin:5px 0;font-size:.95rem;white-space:pre-wrap;overflow-wrap:anywhere}.tag{display:inline-block;padding:3px 9px;background:var(--pale);border-radius:5px;font-size:.875rem}.actions{display:flex;flex-wrap:wrap;gap:10px}form{max-width:680px}label{display:block;margin:18px 0;font-weight:600}input,textarea,select{display:block;width:100%;font:inherit;line-height:1.5;border:1px solid #94abb2;border-radius:6px;padding:12px;background:#fff;color:var(--ink);margin-top:7px}.check{display:flex;align-items:flex-start;gap:10px;font-weight:400}.check input{width:20px;min-width:20px;height:20px;margin-top:5px}#notice:not(:empty){padding:14px 18px;background:#fff0cd;border-left:4px solid #a86800}footer{padding:30px 24px;border-top:1px solid var(--line);text-align:center}.status-card{padding:18px;background:var(--pale);border-radius:10px;margin:14px 0}video{width:100%;max-width:480px;border-radius:12px}table{width:100%;border-collapse:collapse}td,th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}[hidden]{display:none!important}@media(max-width:740px){header{padding:16px 20px}header span{font-size:.75rem;letter-spacing:0}main{padding:30px 20px}.tables{grid-template-columns:1fr}.table[open]{grid-column:auto}.pass{grid-template-columns:1fr;padding:24px}.section-head{align-items:flex-start;flex-direction:column}nav a{padding:6px 10px}.actions button{width:100%}#ticket{text-align:center}}@media print{header,nav,button,#profile,#consult,#pass,footer,#search{display:none}.tables{display:block}.table{break-inside:avoid;margin:15px}.members{display:block!important}}

/* The island art is one generated atlas; all names, scores and controls stay native text. */
nav button{border:0;border-bottom:2px solid var(--line);border-radius:0;background:transparent;padding:8px 14px;min-height:44px}.my-table-link{color:#bfffdc;display:inline-block;margin:2px 0 12px;font-weight:700}.onboarding{padding:20px 24px;margin:0 0 24px;background:#fff4d8;border:1px solid #ecc16a;border-radius:18px}.onboarding h2{font-size:1.25rem;margin-top:0}.map-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:.875rem;color:#3b5863}.camp-day{max-width:1240px;padding-top:24px}.camp-day h1{font-size:clamp(1.6rem,4vw,2.4rem);margin:10px 0}.camp-day .lead{margin:8px 0;font-size:1rem;color:#42626c}.camp-day nav{margin:20px 0;gap:5px}.camp-day nav a,.camp-day nav button{background:#fff;border:1px solid #c4dfe4;border-radius:24px;padding:8px 16px;font-size:.875rem;font-weight:650}.camp-day nav a:hover{background:#e3f8ed}.camp-day .pass{padding:22px 26px;background:#164d51;border-radius:22px;box-shadow:0 5px 0 #c8dfe1}.camp-day .pass>div:first-child{display:grid;grid-template-columns:1fr auto;gap:2px 20px;align-items:center}.camp-day .pass .eyebrow,.camp-day .pass #my-theme,.camp-day .pass #my-table-link,.camp-day .pass #arrival{grid-column:1}.camp-day .pass h2{font-size:1.55rem;margin:4px 0}.camp-day .pass #my-theme{margin:0;font-size:.875rem}.camp-day .pass #arrival{font-size:.875rem;margin:4px 0}.camp-day .pass #issue{grid-column:2;grid-row:1/5;background:#edffae;color:#183b2d;font-weight:750}.camp-day .pass #expires:empty{display:none}.camp-day #villages{border:0;margin-top:28px;padding:24px 0}.camp-day #villages h2{margin:4px 0;font-size:1.6rem}.camp-day #villages>.section-head+p{margin:6px 0;color:#42626c}.island-summary{font-weight:700;color:#17675e;font-size:.9rem}.atlas{background:#dff4f8;border:1px solid #b8dde7;border-radius:22px;margin:20px 0;padding:14px 18px}.atlas>summary{cursor:pointer;font-size:.9rem;font-weight:750;min-height:32px}.island-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;margin-top:6px}.island-jump{padding:4px 4px 10px;border:1px solid transparent;border-radius:14px;background:transparent;min-width:0;line-height:1.5;transition:transform .18s}.island-jump:hover{transform:translateY(-3px);background:#ffffff8f;border-color:#a2c5cd}.island-jump>span{display:block;font-size:.875rem;font-weight:700;overflow-wrap:anywhere}.island-jump>small{font-size:.75rem;color:#3a6370}.my-island-jump{border-color:#17735a;background:#ffffff85}.island-mini{width:100%;aspect-ratio:418/314;background-image:url('./camp-art/islands-v2.webp');background-size:400% 300%;border-radius:10px}.island-art{position:absolute;inset:0 0 auto;width:100%;aspect-ratio:418/314;background-image:url('./camp-art/islands-v2.webp');background-size:400% 300%;border-radius:14px;z-index:-1;pointer-events:none}.island-mini[data-sprite="0"],.island-art[data-sprite="0"]{background-position:0% 0%}.island-mini[data-sprite="1"],.island-art[data-sprite="1"]{background-position:33.333% 0%}.island-mini[data-sprite="2"],.island-art[data-sprite="2"]{background-position:66.667% 0%}.island-mini[data-sprite="3"],.island-art[data-sprite="3"]{background-position:100% 0%}.island-mini[data-sprite="4"],.island-art[data-sprite="4"]{background-position:0% 50%}.island-mini[data-sprite="5"],.island-art[data-sprite="5"]{background-position:33.333% 50%}.island-mini[data-sprite="6"],.island-art[data-sprite="6"]{background-position:66.667% 50%}.island-mini[data-sprite="7"],.island-art[data-sprite="7"]{background-position:100% 50%}.island-mini[data-sprite="8"],.island-art[data-sprite="8"]{background-position:0% 100%}.island-mini[data-sprite="9"],.island-art[data-sprite="9"]{background-position:33.333% 100%}.island-mini[data-sprite="10"],.island-art[data-sprite="10"]{background-position:66.667% 100%}.island-mini[data-sprite="11"],.island-art[data-sprite="11"]{background-position:100% 100%}.island-search{max-width:540px;font-size:.875rem}.island-search input{border-radius:24px;border-color:#a2c6d0;background:white;padding:12px 18px}.village-map{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.village-card{--village:#127661;--village-pale:#e1f5ea;background:linear-gradient(180deg,#fff 0%,#f5fdff 35%,#fff 80%);border:1px solid #b7d8df;border-radius:24px;padding:20px;box-shadow:0 5px 0 #c9e2e7;scroll-margin-top:20px;min-width:0}.village-card[data-tone="blue"]{--village:#245eac;--village-pale:#e9f0ff}.village-card[data-tone="orange"]{--village:#955014;--village-pale:#fff0d8}.village-card[data-tone="violet"]{--village:#7750a2;--village-pale:#f0eafa}.village-card[data-tone="green"]{--village:#387045;--village-pale:#e7f3db}.village-card:target,.your-village{border-color:var(--village);box-shadow:0 0 0 2px var(--village),0 6px 0 #badad0}.village-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.table-label{font-weight:800;color:var(--village);background:var(--village-pale);border:1px solid #00000009;border-radius:8px;padding:4px 7px;font-size:.8rem;letter-spacing:.03em}.island-titles{flex:1;min-width:145px}.village-heading h3{font-size:1.25rem;letter-spacing:.01em;line-height:1.4}.island-subtitle{font-size:.875rem;color:#4c6471;line-height:1.5;margin:5px 0 0}.your-label{font-size:.75rem;font-weight:750;color:#fff;background:var(--village);border-radius:12px;padding:3px 8px}.island-caption{display:block;color:var(--village);font-size:.875rem;margin:12px 0 0;font-weight:650}.seat-board{height:430px;position:relative;margin:14px 0 0;isolation:isolate;border-radius:16px;background:#e5f6fa}.seat-person{position:absolute;display:flex;flex-direction:column;align-items:center;gap:1px;width:102px;background:transparent!important;border:0;border-radius:14px;padding:4px 2px;line-height:1.3;min-height:108px;transform:translateX(-50%)}.seat-person[data-seat="1"]{top:40%;left:50%}.seat-person[data-seat="2"]{top:40%;left:17%}.seat-person[data-seat="3"]{top:40%;left:83%}.seat-person[data-seat="4"]{top:70%;left:33%}.seat-person[data-seat="5"]{top:70%;left:67%}.seat-picture{position:relative;display:block}.seat-picture .avatar{width:58px;height:58px;border:3px solid white;outline:2px solid #90b1b5;box-shadow:0 5px 0 #183e4630,0 5px 12px #193c4b20;font-size:1.25rem;color:var(--village);background:var(--village-pale);transition:transform .18s ease}.seat-person:hover .avatar,.seat-person[aria-expanded="true"] .avatar{transform:translateY(-5px);outline-color:var(--village)}.seat-person.is-you .avatar{outline:3px solid #147650}.seat-level{position:absolute;right:-4px;bottom:-1px;border-radius:50%;width:23px;height:23px;display:grid;place-items:center;background:#ffe596;border:1px solid #a37b23;color:#60440a;font-size:.875rem;font-weight:700}.seat-name{font-weight:750;font-size:.875rem;margin-top:6px;max-width:100%;padding:2px 6px;border-radius:6px;background:#fffffff2;color:#1c3541;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;box-shadow:0 1px 3px #16434a15}.seat-number{font-size:.75rem;color:#345560;background:#effaffed;border-radius:5px;padding:1px 5px}.village-info{padding:0 2px;margin-top:16px}.feature-tags{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}.feature-tags span{font-size:.875rem;padding:3px 8px;background:var(--village-pale);border-radius:6px;color:#30454b}.village-info>strong{font-size:.875rem}.village-info p{font-size:1rem;line-height:1.7;overflow-wrap:anywhere;margin:6px 0 14px}.village-info .table-experts{font-size:.8rem;color:#526770;margin:10px 0 14px}.exchange-links{display:flex;gap:7px;align-items:center;flex-wrap:wrap;border-top:1px dashed #bfd5dc;padding-top:12px;font-size:.875rem}.exchange-links>span{flex-basis:100%;color:#526770;font-size:.8rem}.exchange-links a{color:var(--village);text-decoration:none;background:var(--village-pale);border-radius:16px;padding:8px 12px;font-weight:650;min-height:40px}.person-panel{padding:18px;border:1px solid var(--village);border-radius:14px;background:var(--village-pale);margin-top:14px}.person-panel p{white-space:pre-wrap;overflow-wrap:anywhere}.person-heading{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}.person-heading h3{font-size:1.1rem;flex:1;min-width:100px;overflow-wrap:anywhere}.person-heading button{padding:6px 10px;min-height:44px;font-size:.875rem}.experience-chip{display:inline-block;background:white;border:1px solid #b9cdd2;border-radius:20px;padding:5px 10px;font-size:.875rem;font-weight:650}#notice button{display:block;margin-top:10px}.camp-day~footer{background:#e6f4f7}.camp-day #rewards{margin-top:16px}.camp-day #consult,.camp-day #profile{margin-top:24px}.camp-day button{touch-action:manipulation}@media(min-width:1100px){.seat-board{height:460px}.seat-picture .avatar{width:64px;height:64px}}@media(max-width:860px){.village-map{grid-template-columns:1fr}.village-card{max-width:600px;width:100%;justify-self:center}.island-nav{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:540px){.camp-day{padding:24px 14px}.camp-day .pass{padding:18px}.camp-day .pass>div:first-child{grid-template-columns:1fr}.camp-day .pass #issue{grid-column:1;grid-row:auto;margin:10px 0 0}.camp-day .pass h2{font-size:1.35rem}.camp-day nav{gap:6px}.camp-day nav a,.camp-day nav button{padding:8px 11px}.atlas{padding:12px 8px;border-radius:18px}.island-nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.island-jump>span{font-size:.8rem}.village-card{padding:16px;border-radius:20px}.village-heading h3{font-size:1.125rem}.village-heading{gap:8px}.your-label{flex-basis:auto}.seat-board{height:380px}.seat-person{width:90px}.seat-picture .avatar{width:50px;height:50px}.seat-person[data-seat="1"],.seat-person[data-seat="2"],.seat-person[data-seat="3"]{top:32%}.seat-person[data-seat="4"],.seat-person[data-seat="5"]{top:66%}.seat-name{font-size:.875rem}.island-caption{font-size:.875rem}.map-legend{gap:8px}.camp-day #villages>.muted{font-size:.8rem}}@media(max-width:360px){.village-card{padding:12px}.seat-person{width:76px}.seat-name{padding:2px 3px}.seat-picture .avatar{width:46px;height:46px}.seat-person[data-seat="2"]{left:16%}.seat-person[data-seat="3"]{left:84%}.island-nav{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.seat-picture .avatar,.island-jump{transition:none}.seat-person:hover .avatar,.island-jump:hover{transform:none}}@media print{.village-map{display:block}.village-card{break-inside:avoid;margin-bottom:20px}.seat-person{display:flex!important}.person-panel,.atlas{display:none!important}}
.rank-chip{display:inline-flex;padding:5px 12px;border-radius:20px;font-size:.85rem;letter-spacing:.07em;font-weight:800;background:#edf1f4;color:#3e5562;border:1px solid #bacbd4}.rank-chip[data-rank="bronze"]{background:#f5dfc7;color:#703805;border-color:#b77735}.rank-chip[data-rank="silver"]{background:#e9eff8;color:#374f70;border-color:#94a9c6}.rank-chip[data-rank="gold"]{background:#fff0b7;color:#6b4d00;border-color:#cea630}.rank-chip[data-rank="platinum"]{background:#223955;color:#daf3ff;border-color:#7ab8d6}.wallet-score{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap}.wallet-score>strong{font-size:2rem}.rewards-wallet{background:#f0f8fa;border:1px solid #b8d9df;border-radius:20px;padding:26px;margin-top:28px}.reward-badges{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.reward-badges>span{display:inline-block;padding:6px 10px;border-radius:8px;background:#fff5d6;color:#5b4917;border:1px solid #e2c779;font-size:.85rem}.seat-miles{font-size:.8rem;line-height:1.5;padding:1px 6px;border-radius:10px;background:#f0e0b1;color:#594510;font-weight:700;white-space:nowrap}.seat-miles[data-rank="platinum"]{background:#243d56;color:#e5f6ff}.seat-miles[data-rank="silver"]{background:#e6edf5;color:#374f70}.seat-miles[data-rank="bronze"]{background:#f3ddc7;color:#703805}.seat-miles.unlinked{background:#edf2f4;color:#687a81;font-weight:400}.conversation-prompts{margin:18px 0;padding:14px;background:white;border-left:3px solid var(--village);border-radius:7px}.conversation-prompts p{margin:8px 0}.line-candidate{font-size:1.15rem;font-weight:700}.button{display:inline-block;text-decoration:none}.rewards-wallet button{margin:6px 8px 6px 0}

/* Personal group is visible on entry and one tap away throughout the page. */
.camp-day .my-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;margin:20px 0 16px;padding:18px 22px;background:#e8f8ee;border:2px solid #237559;border-radius:20px;box-shadow:0 4px 0 #d0e8dc}.my-group-copy{flex:1;min-width:180px}.my-group-copy h2{font-size:1.35rem;margin:2px 0 4px;line-height:1.45;color:#154d3b}.my-group-copy p{margin:0;font-size:.9rem}.my-group-members{flex-basis:100%;font-size:.875rem;line-height:1.65;margin:0;color:#34564a;overflow-wrap:anywhere}.my-group-members:empty{display:none}.my-group-dock{position:fixed;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);width:calc(100% - 28px);max-width:420px;z-index:30}.my-group-shortcut{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:54px;background:#164d51;color:#fff;border:1px solid #659b91;border-radius:18px;padding:12px 18px;box-shadow:0 4px 20px #102e3b33;font-size:.875rem}.my-group-shortcut:hover{background:#0b3b3f}.my-group-shortcut strong{color:#edffae;white-space:nowrap}.camp-day{padding-bottom:94px}.camp-day~footer{padding-bottom:100px}.village-card{scroll-margin-top:20px;scroll-margin-bottom:90px}@media(max-width:540px){.camp-day .my-group{padding:16px;margin-top:16px}.my-group-copy h2{font-size:1.2rem}.my-group>button{width:100%;padding:10px 12px}.my-group-shortcut{padding:10px 14px}}@media print{.my-group-dock{display:none!important}}

.camp-day .pass #staff-reception-link{grid-column:1;font-size:.875rem}.pass #ticket-kind{font-weight:700;font-size:.875rem}.pass #test-qr{display:block;margin:12px auto 0;background:#edffae;color:#163f35;font-weight:700}.pass #qr-test-result{max-width:340px;font-size:.9rem;white-space:normal}.pass #ticket{min-width:0}#ticket-kind:empty,#qr-test-result:empty{display:none}
/* A person first, then the relationship: work, practice and learning stay distinct. */
.person-panel{background:#fff;border:1px solid #bdd3df;border-radius:22px;padding:24px;box-shadow:0 8px 24px #143d4810;margin:20px 0}.person-heading{align-items:flex-start;gap:12px;margin-bottom:18px}.person-title{flex:1;min-width:0}.person-title h3{font-size:1.25rem;margin:4px 0;min-width:0;line-height:1.45}.person-location{font-size:.75rem;color:#5d7683}.person-heading .avatar{width:54px;height:54px}.person-heading .quiet{background:#f1f5f6;border:0;border-radius:12px;min-height:44px;padding:8px 12px}.person-work{font-size:1.05rem;line-height:1.85;margin:0 0 22px;color:#193544}.person-section{margin:20px 0}.person-panel h4{font-size:.875rem;line-height:1.5;margin:0 0 10px;color:#486572}.practice-tags,.common-tags{display:flex;flex-wrap:wrap;gap:8px}.practice-tags span{padding:6px 11px;background:#edf4f7;border:1px solid #d4e1e8;border-radius:10px;font-size:.875rem;line-height:1.5}.person-goal{padding:16px 18px;background:#f4f8fb;border-radius:14px;margin:20px 0}.detail-label{font-size:.8rem;font-weight:750;color:#527081;letter-spacing:.02em}.person-goal p{margin:7px 0 0;line-height:1.8}.connection-card{margin:22px 0;padding:22px;background:#eaf5f1;border:1px solid #c4e0d4;border-radius:18px}.connection-eyebrow{display:block;font-size:.75rem;color:#2c6b55;font-weight:750;letter-spacing:.06em;overflow-wrap:anywhere}.connection-card h4{font-size:1.15rem;margin:5px 0 14px;color:#174e3e}.common-tags span{font-size:.875rem;font-weight:750;color:#135d48;background:#fff;border:1px solid #b9dacc;border-radius:20px;padding:5px 12px}.connection-card p{font-size:.95rem;margin:12px 0 0;line-height:1.8}.connection-help{border-top:1px solid #c8dfd5;padding-top:16px;margin-top:18px}.connection-help:first-of-type{border-top:0}.connection-help strong{font-size:.875rem;color:#21543f}.conversation-opener{padding:2px 0 8px;margin:18px 0}.conversation-opener blockquote{position:relative;margin:10px 0 0;padding:18px 20px;background:#f4f0ff;border:1px solid #dfd7f5;border-radius:4px 18px 18px 18px;font-size:1rem;line-height:1.9;color:#44356b;overflow-wrap:anywhere}.person-source{font-size:.75rem;color:#677e88;margin:18px 0;line-height:1.7}.person-extra{border-top:1px solid #e2e9ee;padding-top:14px;margin-top:22px}.person-extra>summary{cursor:pointer;min-height:44px;font-size:.875rem;color:#4c6472;padding:8px 0}.person-extra>.experience-chip,.person-extra>.rank-chip{margin:12px 0 0}.profile-edit-link{display:inline-block;margin-top:18px;padding:10px 0;font-size:.875rem;color:#146350}.reception-page{max-width:1080px}.reception-page .reception-card{padding:28px;background:white;border:1px solid #d0dfe6;border-radius:22px;margin:24px 0}.reception-entry{margin:20px 0 24px}.reception-entry .button{background:#edf4f7;border-color:#d2e1e7;border-radius:12px;padding:12px 18px}.scanner-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch;max-width:680px;margin:0 0 24px}.scanner-actions #camera{background:#006f75;color:#fff;border-color:#006f75}.scanner-actions button,.photo-control{border-radius:14px;padding:16px 18px;min-height:58px}.photo-control{display:flex;flex-direction:column;justify-content:center;gap:12px;margin:0;background:#f1f6f8;border:1px solid #c4d8e1;font-weight:600;font-size:.95rem}.photo-control input{margin:0;font-size:.875rem;padding:8px;border:0;background:white;width:100%;min-width:0}.reception-page video{margin:0 0 24px;display:block}.reception-page #scan-form{display:grid;gap:14px;padding:22px;margin:0 0 20px;background:#f5f8fa;border:1px solid #dce6eb;border-radius:16px}.reception-page #scan-form label{margin:0}.reception-page #scan-form button{justify-self:start;min-width:150px;border-radius:12px}.reception-page #scan-result:empty{display:none}.reception-page #scan-result:not(:empty){padding:18px 20px;margin:20px 0;line-height:1.8}.reception-page details{margin:18px 0}.reception-page summary{padding:10px 0;min-height:44px;cursor:pointer}.reception-page #seating-file{margin:16px 0}.reception-page #seating-save,.reception-page #reload{margin:12px 0}.reception-page #roster-results>div{display:grid;gap:12px;padding:16px;border:1px solid #d1e0e7;border-radius:12px;margin:12px 0}.reception-page #lanes .status-card{display:flex;flex-direction:column;gap:12px;padding:20px}.reception-page #lanes .status-card p{margin:6px 0}.reception-page .actions:not(.scanner-actions){gap:12px;margin:18px 0}.camp-day .pass #ticket{display:flex;flex-direction:column;gap:16px;align-items:center}.pass #ticket-kind,.pass #qr-test-result{margin:0}.pass #test-qr{margin:0;padding:14px 18px;width:100%;max-width:340px;border-radius:12px}.pass #ticket details{width:100%;max-width:340px;margin:0;padding:12px 14px;background:#ffffff10;border-radius:12px}.pass #ticket summary{cursor:pointer;padding:4px 0;min-height:36px}.pass canvas{background:#fff}.pass #ticket-code{margin:10px 0}@media(max-width:540px){.person-panel{padding:18px;border-radius:18px}.person-title h3{font-size:1.1rem}.connection-card{padding:18px}.person-work{font-size:1rem}.reception-page{padding:24px 16px}.reception-page .reception-card{padding:18px}.scanner-actions{grid-template-columns:1fr;gap:12px}.reception-page #scan-form{padding:16px}.reception-page #scan-form button,.reception-entry .button{width:100%;text-align:center}.person-heading{gap:10px}.person-heading .avatar{width:46px;height:46px}}@media print{.person-extra,.profile-edit-link{display:none}}

.connection-hint{padding:14px 18px;background:#edf4fb;border:1px solid #cbdcea;border-radius:12px;font-size:.875rem;color:#34566f}.connection-hint a{display:inline-block;margin-left:8px;color:#145b72;font-weight:650;min-height:32px}
/* Two independent axes: consented monthly business scale and self-reported AI experience. */
.business-axes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0 22px}.business-axis{padding:16px;border-radius:16px;border:1px solid #d2e2e6;background:#f3f8fa;min-width:0}.business-axis.scale-axis{background:#fff4dd;border-color:#ead6a3}.business-axis.ai-axis{background:#e9f5f1;border-color:#bbdbcd}.axis-label{display:block;color:#496269;font-size:.8rem;font-weight:650;margin-bottom:8px}.business-axis strong{display:block;font-size:1.05rem;line-height:1.55;overflow-wrap:anywhere}.business-axis small{display:block;color:#52666c;font-size:.75rem;line-height:1.6;margin-top:8px}.network-intents{display:flex;gap:7px;flex-wrap:wrap;margin:16px 0}.intent-chip,.business-chip,.ai-chip{display:inline-block;font-size:.8rem;font-weight:650;padding:4px 8px;border-radius:7px;line-height:1.5;overflow-wrap:anywhere}.intent-chip{color:#5c457c;background:#f0eaf8}.business-chip{color:#70511f;background:#fff0c9}.ai-chip{color:#1a6551;background:#e2f4ec}.business-match{padding:20px;background:#f5efff;border:1px solid #d7c9ea;border-radius:18px;margin:20px 0}.business-match h4{font-size:1.05rem;color:#523b73;margin:8px 0}.business-match p{font-size:.95rem;line-height:1.85}.network-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;align-items:end;gap:12px;margin:20px 0 12px;padding:18px;border:1px solid #c5dbe2;background:#edf6f9;border-radius:18px}.network-filters label{margin:0;font-size:.875rem}.network-filters select{margin-top:6px;padding:10px;font-size:.9rem;min-height:46px;border-radius:10px}.network-filters button{font-size:.875rem;border-radius:10px;padding:10px 14px;min-height:46px}.network-privacy{font-size:.8rem;color:#526b75;line-height:1.8}.network-privacy a{display:inline-block;margin-left:8px;color:#1b6a60;padding:4px 0}.people-results,.business-suggestions{padding:22px 0 8px}.people-results>h3,.business-suggestions>h3{font-size:1.15rem;margin:0 0 16px}.people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.people-card{padding:18px;background:#fff;border:1px solid #c5dbe1;border-radius:18px;min-width:0}.people-card-head{display:flex;gap:10px;align-items:center}.people-card-head strong{overflow-wrap:anywhere;font-size:.95rem}.people-card .avatar{width:40px;height:40px}.people-card p{font-size:.875rem;line-height:1.75;margin:12px 0;overflow-wrap:anywhere}.people-card>.business-chip,.people-card>.ai-chip,.people-card>.intent-chip{margin:3px 4px 3px 0}.person-open{display:block;margin-top:14px;width:100%;font-size:.875rem;border-radius:10px;color:#1d665e;border-color:#aacbc7;padding:10px 12px}.team-capabilities{margin:18px 0 8px;border-top:1px solid #d9e7eb;padding-top:16px}.team-caption{font-size:.875rem;display:block;margin-bottom:10px}.team-capability{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid #e6eef1;border-radius:0;padding:10px 0;min-height:48px}.team-capability:hover{background:#f2f8f9}.team-person-name{font-size:.875rem;font-weight:650;flex:0 1 38%;min-width:0;overflow-wrap:anywhere}.team-capability-labels{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:5px;flex:1;min-width:0}.team-capability-labels .business-chip,.team-capability-labels .ai-chip,.team-capability-labels .intent-chip{font-size:.75rem}.table-business{font-size:.8rem!important;color:#6c582b;margin:8px 0!important}.island-mission{margin:12px 0}.island-mission summary{font-size:.9rem;cursor:pointer;min-height:44px;padding:10px 0;color:#44616a}.network-profile-fields{border:1px solid #c5dade;border-radius:16px;padding:18px 22px;margin:26px 0;background:#f1f8f8}.network-profile-fields legend{font-weight:700;padding:0 8px;font-size:1rem}.network-intent-options{margin-top:18px}.network-intent-options .check{margin:10px 0;font-size:.9rem}.network-profile-fields .muted{line-height:1.8}@media(max-width:760px){.network-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.business-axes{grid-template-columns:1fr}.network-filters{grid-template-columns:1fr;padding:16px}.people-grid{grid-template-columns:1fr}.network-profile-fields{padding:16px}.team-person-name{flex-basis:32%}.business-match{padding:18px}}
.staff-island{background:#f2f6ff;border:1px solid #b9cddd;border-radius:24px;padding:26px;margin:26px 0}.hq-heading{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.hq-heading>div:nth-child(2){flex:1;min-width:180px}.hq-heading h2{margin:4px 0;font-size:1.7rem}.hq-heading p{margin:8px 0;color:#4d6678;font-size:.95rem}.hq-heading button{border-radius:12px;font-size:.875rem}.hq-art{width:126px;aspect-ratio:418/314;background-image:url('./camp-art/islands-v2.webp');background-size:400% 300%;background-position:66.667% 100%;border-radius:16px}.staff-members{display:flex;flex-wrap:wrap;gap:18px;margin:24px 0}.staff-member{display:flex;flex-direction:column;align-items:center;gap:6px;max-width:140px;text-align:center}.staff-member .avatar{width:52px;height:52px;border:3px solid white;box-shadow:0 2px 0 #a5bdc6}.staff-member strong{font-size:.875rem;overflow-wrap:anywhere;line-height:1.5}.staff-member>span.muted{font-size:.75rem}.live-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 16px}.live-lane{background:#fff;border:1px solid #cbdbe3;border-radius:16px;padding:18px;min-width:0}.live-lane h3{font-size:1rem;margin:0 0 10px}.lane-status{display:inline-block;background:#eef2f6;color:#536778;border-radius:8px;padding:4px 9px;font-size:.8rem;font-weight:700}.live-lane[data-status="serving"] .lane-status{background:#fff0c8;color:#795411}.live-lane[data-status="called"] .lane-status{background:#f6e6ef;color:#8a305f}.live-lane[data-status="ready"] .lane-status{background:#e2f5eb;color:#225f49}.lane-waiting{font-weight:750;font-size:1.3rem;margin:10px 0 6px}.lane-current{font-size:.95rem;margin:6px 0;color:#1c526a}.live-lane small,.lane-numbers{font-size:.75rem;line-height:1.7;color:#526b76}.live-my-queue{padding:14px 18px;border-radius:12px;background:#e4eff6;font-size:.95rem;margin:16px 0}.live-updated{font-size:.75rem;color:#5c7281;margin:8px 0 16px}.hq-consult{border-top:1px solid #cbd9e6;margin-top:24px;padding-top:20px}.hq-consult h2{font-size:1.2rem}.hq-consult>p{font-size:.875rem;line-height:1.8}.hq-consult .actions{gap:12px;margin:16px 0}.hq-consult .actions button{border-radius:12px}.presence-controller{padding:22px 26px;background:#edf8f1;border:1px solid #b5d9c4;border-radius:20px;margin:22px 0}.presence-controller h2{font-size:1.25rem;margin:6px 0}.presence-controller #my-presence{font-size:1rem;font-weight:650;margin:10px 0}.presence-actions{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:16px 0}.presence-actions label{font-size:.875rem;margin:0;flex:1;min-width:180px}.presence-actions select{border-radius:10px}.presence-actions button{border-radius:10px;font-size:.875rem;padding:12px 16px}.presence-controller>.muted{margin-bottom:0;line-height:1.8}.island-visitors{display:flex;flex-wrap:wrap;gap:8px;padding:14px 0;margin:12px 0 0;border-top:1px dashed #bfd4d9}.visitors-label{width:100%;font-size:.8rem;color:#496571}.island-visitor{display:inline-flex;align-items:center;gap:7px;background:white;border:1px solid #c5ddd3;border-radius:18px;padding:5px 10px;font-size:.8rem;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.island-visitor .avatar{width:26px;height:26px;font-size:.8rem}.move-island{display:block;width:100%;font-size:.875rem;border-radius:12px;color:#176451;border-color:#a2cbb9;background:#edf8f1;padding:10px 14px;margin:6px 0 12px}.member-presence{font-size:.75rem;color:#18705c;margin:0 0 8px;padding:0 0 0 8px}@media(max-width:700px){.live-lanes{grid-template-columns:1fr}.staff-island{padding:20px}.hq-art{width:96px}.presence-controller{padding:20px}.presence-actions button{flex:1}}@media(max-width:430px){.hq-art{width:74px}.hq-heading{gap:12px}.hq-heading h2{font-size:1.45rem}.hq-heading>div:nth-child(2){min-width:160px}.staff-members{gap:12px}.staff-member{max-width:105px}.presence-actions{display:grid;grid-template-columns:1fr}.presence-actions label{min-width:0}}@media print{.staff-island,.presence-controller,.island-visitors,.move-island{display:none}}
#hq-staff-link{margin:4px 0 14px;border-radius:12px;font-size:.875rem}@media(max-width:700px){.live-lane{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:14px 16px}.live-lane h3,.live-lane .lane-waiting,.live-lane .lane-current{margin:0}.live-lane .lane-status{justify-self:end}.live-lane .lane-waiting{font-size:1.1rem}.live-lane small,.live-lane .lane-numbers{grid-column:1/-1;margin:0}.staff-island .hq-consult .actions{display:grid;grid-template-columns:1fr 1fr}.staff-island .hq-consult .actions button{width:100%}.staff-island .hq-consult .actions [data-lane="joint"]{grid-column:1/-1}}
/* Day programme, verified benefit passes and private staff quest preview. */
#camp-experience{background:#f7fbf2}.day-schedule,.party-guide{margin:14px 0;padding:18px;border:1px solid #ceddd3;border-radius:18px;background:#fff}.day-schedule summary,.party-guide summary{font-weight:700;cursor:pointer}.day-schedule ol{list-style:none;padding:0}.day-schedule li{display:grid;grid-template-columns:110px 1fr;gap:5px 14px;padding:18px 0;border-bottom:1px solid #e1e9e4}.day-schedule time{font-weight:700;color:#166b68}.schedule-title{font-weight:700}.day-schedule li p{grid-column:2;margin:0;color:#607475}.perk-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.perk-pass{padding:20px;border:1px solid #e1ca7c;border-radius:18px;background:linear-gradient(135deg,#fff9df,#fffef7);box-shadow:0 5px 0 #eee7c9}.perk-status{font-size:.76rem;color:#745815;font-weight:700}.perk-pass h4{margin:8px 0}.perk-pass p{font-size:.9rem}.day-perks form{margin-top:22px}.quest-preview{margin-top:26px;padding:24px;background:#e9f6f3;border-radius:22px}.quest-map{display:flex;gap:10px;overflow-x:auto;padding:14px 0;scroll-snap-type:x proximity}.quest-map button{min-width:150px;scroll-snap-align:start}.quest-map .current{background:#154f51;color:white}.quest-stage{padding:22px;background:white;border-radius:18px}.quest-stage h4{font-size:1.4rem;margin:12px 0}.quest-next{padding:15px;background:#fff3c5;border-radius:12px}.quest-task{display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-bottom:1px solid #e4eeea}.quest-task input{width:22px;min-width:22px;height:22px;margin:0}.quest-stage textarea,.day-perks textarea{width:100%;margin:10px 0 16px}.quest-stage .button{margin-left:12px}.quest-preview progress{width:100%;accent-color:#278e70}.quest-score{font-weight:800}.perk-chip{display:inline-block;padding:6px 10px;margin:4px;border-radius:20px;background:#fff1b4;color:#6c4a09;font-size:.78rem}.perk-admin-person{margin:16px 0;padding:18px;border:1px solid #d4e1df;border-radius:16px}.perk-admin-person select,.perk-admin-person input{margin:8px 0}.perk-admin-person button{margin:8px 8px 0 0}@media(max-width:600px){.day-schedule li{grid-template-columns:1fr}.day-schedule li p{grid-column:1}.quest-preview,.quest-stage{padding:16px}.quest-stage .button{display:block;margin:12px 0 0}}
.quest-map .island-mini{display:block;width:138px;margin-top:8px}.quest-cleared{outline:2px solid #5bb98d}.quest-cleared h4::after{content:' ✓';color:#217755}@media(prefers-reduced-motion:no-preference){.quest-cleared{animation:quest-arrive .4s ease-out}@keyframes quest-arrive{from{transform:translateY(6px);opacity:.5}to{transform:translateY(0);opacity:1}}}
/* A bounded app shell: each screen keeps its form state while tabs switch. */
.camp-day,.camp-day #signed,.camp-panel,.camp-panel>*,.quest-preview,.quest-stage,.quest-overview,.quest-map{min-width:0;max-width:100%}.camp-panel[hidden]{display:none!important}.camp-panel{scroll-margin-top:100px}.camp-panel p,.camp-panel h2,.camp-panel h3,.camp-panel button,.camp-panel a{overflow-wrap:anywhere}.camp-day .my-group-dock{display:none!important}.camp-day nav.camp-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:sticky;top:8px;z-index:40;padding:6px;margin:18px 0 24px;background:#ffffffed;border:1px solid #cfdfdd;border-radius:18px;box-shadow:0 4px 20px #173f4510;gap:4px}.camp-day .camp-tabs button{border:0;border-radius:12px;background:transparent;padding:9px 4px;min-width:0;display:flex;align-items:center;justify-content:center;gap:8px;color:#5b7275;font-size:.9rem;line-height:1.3}.camp-day .camp-tabs button[aria-current=page]{background:#164d51;color:#fff;font-weight:750}.tab-symbol{font-size:1.3rem;line-height:1}.home-guide{border:0;padding:12px 0 26px}.home-guide>button{margin:10px 10px 0 0}.camp-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:12px;margin:20px 0}.camp-step{display:grid;grid-template-columns:28px 1fr;gap:7px 10px;text-align:left;border-radius:16px;padding:16px}.step-number{grid-row:1/3;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#dcf2e9;color:#19604b;font-weight:800}.camp-step small{color:#5b7173;font-weight:400}.build-guide{border:0}.build-guide li{padding:8px 0}.build-guide .button{display:inline-flex;margin:8px 8px 8px 0}.return-access .button{max-width:100%;font-size:.95rem;display:inline-flex}.return-access button{margin:10px 0}.quest-preview{padding:22px;overflow-wrap:anywhere}.quest-preview progress{display:block;max-width:100%;height:10px;border:0;border-radius:10px;overflow:hidden;background:#d7e6df}.quest-preview progress::-webkit-progress-bar{background:#d7e6df;border-radius:10px}.quest-preview progress::-webkit-progress-value{background:#2a8f72;border-radius:10px}.quest-preview progress::-moz-progress-bar{background:#2a8f72;border-radius:10px}.quest-overview{padding:16px 0 0}.quest-overview>summary{cursor:pointer;font-weight:700;min-height:44px}.quest-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible;scroll-snap-type:none;padding:12px 0}.quest-map button{width:100%;min-width:0;max-width:100%;padding:12px 8px;font-size:.85rem;line-height:1.5}.quest-map .island-mini{width:100%;max-width:100%;margin-top:8px}.quest-stage{margin-top:18px}.quest-stage button{max-width:100%;margin:8px 8px 8px 0}.quest-task span{min-width:0;overflow-wrap:anywhere}.quest-task input{flex:0 0 22px;padding:0}.quest-stage textarea{min-width:0;max-width:100%;resize:vertical}.camp-panel #camp-experience{padding:20px;border-radius:20px}.camp-panel #villages{margin-top:0}.camp-panel #profile{padding-top:22px}html{scroll-padding-bottom:100px}
@media(max-width:740px){.camp-day{padding:20px 14px calc(112px + env(safe-area-inset-bottom,0px))}.camp-day h1{font-size:1.65rem}.camp-day>.lead{font-size:.9rem}.camp-day nav.camp-tabs{position:fixed;top:auto;bottom:0;left:0;right:0;width:100%;max-width:100%;margin:0;gap:2px;border-radius:20px 20px 0 0;border-bottom:0;padding:8px 8px calc(8px + env(safe-area-inset-bottom,0px));box-shadow:0 -4px 22px #163c4514;backdrop-filter:blur(14px)}.camp-day .camp-tabs button{flex-direction:column;gap:5px;padding:8px 2px;min-height:54px;font-size:.69rem;white-space:nowrap}.tab-symbol{font-size:1.25rem}.camp-panel{scroll-margin-top:16px}.camp-steps{grid-template-columns:1fr}.camp-step{padding:14px}.quest-preview{padding:16px}.quest-stage{padding:15px}.quest-map{grid-template-columns:repeat(2,minmax(0,1fr))}.quest-stage h4{font-size:1.2rem}.quest-stage button,.quest-stage .button{display:block;width:100%;margin:10px 0}.quest-task{gap:10px;margin:8px 0;font-size:.95rem}.camp-panel #camp-experience{padding:16px}.camp-day .pass>div:first-child{min-width:0}.camp-day .pass{padding:20px}.home-guide>button{display:block;width:100%;margin:10px 0}.camp-panel input,.camp-panel textarea,.camp-panel select{font-size:16px}.build-guide .button{display:flex;width:100%;margin:10px 0}footer{padding-bottom:calc(100px + env(safe-area-inset-bottom,0px))}}
@media print{.camp-day nav.camp-tabs{display:none}}
@media(max-width:740px){body>header{padding:12px 14px;gap:10px}body>header img{width:112px;max-width:100%}body>header span{font-size:.68rem}.camp-panel .staff-member{min-width:0}.camp-panel .hq-heading>div:nth-child(2){min-width:min(160px,100%)}.camp-panel .my-group-copy{min-width:0}.camp-panel .section-head>*{max-width:100%}.camp-panel .network-filters label{min-width:0}}
/* Desktop keeps navigation at the left; mobile retains the five-item footer. */
.tab-description{display:none}.tour-launch,.tour-replay{font-size:.875rem;margin:8px 0}.camp-tour{position:fixed;margin:0;padding:24px;border:1px solid #9dbfb2;border-radius:22px;background:#fffdf5;color:#163e39;box-shadow:0 18px 70px #082d4933;overflow:auto;z-index:100}.camp-tour::backdrop{background:#0b263d99}.camp-tour h2{font-size:1.3rem;line-height:1.5;margin:8px 0 12px}.camp-tour p{overflow-wrap:anywhere}.tour-count{font-size:.8rem;letter-spacing:.1em;font-weight:800;color:#257a61;margin:0}.tour-hint{font-size:.75rem;color:#627772;line-height:1.6}.tour-actions{display:grid;grid-template-columns:1fr 1.5fr;gap:10px;margin-top:20px}.tour-actions button{min-width:0;padding:10px 12px;font-size:.875rem}.tour-skip{display:block;width:100%;border:0;margin-top:8px;font-size:.8rem;background:transparent}.camp-tour-ring{position:fixed;border:3px solid #efffb8;box-shadow:0 0 0 3px #26785a;border-radius:14px;pointer-events:none}.camp-tour::after{content:'';position:absolute;width:14px;height:14px;background:#fffdf5;transform:rotate(45deg)}.camp-tour[data-side=left]::after{left:-8px;top:30px;border-left:1px solid #9dbfb2;border-bottom:1px solid #9dbfb2}.camp-tour[data-side=bottom]::after{bottom:-8px;left:var(--tour-arrow-x,50%);border-right:1px solid #9dbfb2;border-bottom:1px solid #9dbfb2}
@media(min-width:900px){.camp-day{max-width:1480px}.camp-day #signed{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:start}.camp-day nav.camp-tabs{grid-column:1;grid-row:1;display:flex;flex-direction:column;position:sticky;top:20px;bottom:auto;width:220px;margin:0;padding:12px;max-height:calc(100dvh - 40px);overflow-y:auto;border-radius:20px;gap:8px}.camp-day .camp-tabs button{display:grid;grid-template-columns:24px minmax(0,1fr);gap:5px 10px;text-align:left;justify-content:start;padding:15px 10px;font-size:.95rem}.camp-tabs .tab-symbol{grid-column:1;grid-row:1/3;align-self:center}.camp-tabs .tab-description{display:block;grid-column:2;line-height:1.5;font-size:.68rem;font-weight:400;opacity:.82}.camp-panel{grid-column:2;grid-row:1;scroll-margin-top:20px}.camp-panel .camp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.camp-panel .home-guide{padding-top:0}.camp-panel .home-guide h2{font-size:1.7rem}.camp-panel .village-map{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:900px) and (max-width:1150px){.camp-day #signed{grid-template-columns:190px minmax(0,1fr);gap:20px}.camp-day nav.camp-tabs{width:190px}.camp-panel .village-map{grid-template-columns:1fr}}
@media(max-width:899px){.camp-tour{padding:20px}.camp-tour h2{font-size:1.15rem}.camp-tour p{font-size:.9rem}.camp-tour .tour-hint{font-size:.75rem}}
@media(max-height:440px){.camp-tour{overflow-y:auto}.camp-tour h2{font-size:1rem;margin:4px 0}.camp-tour p{margin:6px 0}.tour-actions{margin-top:10px}}
.venue-guide{margin:18px 0;padding:16px;border:1px solid #c9deda;border-radius:14px;background:#f7fcfa}.venue-guide summary{min-height:44px;cursor:pointer;font-weight:700}.venue-guide h3,.venue-guide h4{margin:18px 0 8px}.venue-guide a{display:inline-block;max-width:100%;overflow-wrap:anywhere;padding:6px 0}.entry-notice{padding:12px 16px;background:#fff3cf;border-radius:12px;line-height:1.8}
/* One consistent icon family, independent of OS text/emoji glyphs. */
.camp-tabs .tab-symbol{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex:0 0 24px;line-height:0}.camp-tabs .tab-symbol svg{display:block;width:24px;height:24px;flex:none;overflow:visible}@media(max-width:740px){.camp-tabs .tab-symbol{width:22px;height:22px;flex-basis:22px}.camp-tabs .tab-symbol svg{width:22px;height:22px}}
#community-board{margin-top:24px;padding:22px;border:1px solid #bbdacf;border-radius:22px;background:#f1fbf5}.activity-ticker{overflow:hidden;border-radius:14px;background:#164d51;color:#fff;padding:16px 0;margin:16px 0}.ticker-rail{display:flex;width:max-content;max-width:none;gap:30px;padding:0 18px;animation:camp-ticker 90s linear infinite}.ticker-item{color:#fff;white-space:nowrap;text-decoration:none;font-size:.875rem}.activity-ticker:hover .ticker-rail,.activity-ticker:focus-within .ticker-rail{animation-play-state:paused}.community-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:12px;margin:16px 0}.community-team{min-width:0;background:#fff;border:1px solid #c8dfd5;border-radius:16px;padding:16px}.community-team h4{margin:8px 0;font-size:1rem}.community-team p{font-size:.8rem;margin:6px 0}.team-points{font-size:1.6rem;color:#12604c}.community-team progress{width:100%;accent-color:#d38b22}.team-leader{font-weight:700;color:#7d5b0a}.community-people ol{padding-left:24px}.community-people li{padding:9px 0}.community-people li span{margin-left:12px;font-size:.8rem}.toast-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}.toast-slot,.curriculum-index{padding:20px;margin:14px 0;background:#fffaf0;border:1px solid #e0ce97;border-radius:16px}.toast-slot h4{margin:0}.toast-slot button,.curriculum-index button{margin-top:12px;max-width:100%}.curriculum-stage{padding:18px;background:#f1f8f6;border:1px solid #cbded6;border-radius:14px;margin:12px 0}.curriculum-stage summary{font-weight:700;cursor:pointer}.curriculum-stage li{padding:8px 0;overflow-wrap:anywhere}#champagne-pass{padding:22px;background:#fff4cd;border:1px solid #dfc15e;border-radius:18px;margin-top:20px}#champagne-pass button{margin:10px 10px 0 0}@keyframes camp-ticker{from{transform:translateX(0)}to{transform:translateX(-70%)}}@media(prefers-reduced-motion:reduce){.ticker-rail{animation:none;max-width:100%;width:auto;flex-wrap:wrap}.ticker-item{white-space:normal}}@media(max-width:740px){#community-board{padding:16px}.community-teams{grid-template-columns:1fr 1fr;gap:8px}.community-team{padding:12px}.community-team h4{font-size:.85rem}.team-points{font-size:1.3rem}.toast-grid{grid-template-columns:1fr}}
.activity-strip{position:sticky;top:0;z-index:35;display:flex;align-items:center;gap:10px;padding:8px;background:#e8f5ed;border:1px solid #bad8c8;border-radius:16px;margin:14px 0}.activity-strip .activity-ticker{flex:1;min-width:0;margin:0;padding:12px 0}.activity-strip>small{flex:0 0 64px;font-weight:800;color:#286950;font-size:.68rem}.activity-strip .ticker-pause{padding:8px;font-size:.7rem;min-height:40px}.camp-panel .community-people li{overflow-wrap:anywhere}@media(min-width:900px){.camp-day nav.camp-tabs{top:86px;max-height:calc(100dvh - 110px)}}@media(max-width:740px){.activity-strip{gap:6px;padding:6px}.activity-strip>small{flex-basis:42px;font-size:.6rem}.activity-strip .ticker-item{font-size:.78rem}}
.seating-health{padding:20px;border:1px solid #b9d8ca;border-radius:18px;background:#f1faf4;margin:18px 0}.seating-health[data-attention=true]{background:#fff4d9;border:2px solid #bb8521}.seating-health label{margin:14px 0}.seating-health button{margin:12px 0;max-width:100%}

/* First-visit business notice. Reading is separate from agreement to a contract. */
.camp-rules{position:fixed;inset:auto;top:50%;top:50dvh;left:50%;transform:translate(-50%,-50%);margin:0;width:min(560px,calc(100vw - 40px));max-width:none;max-height:min(680px,76dvh);overflow:auto;border:1px solid #dce7e2;border-radius:18px;padding:24px;color:#344b43;background:#fff;box-shadow:0 12px 40px #183e2929;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;box-sizing:border-box;}
.camp-rules::backdrop{background:#18382e66;}
.camp-rules .rules-label{font-size:.75rem;font-weight:600;color:#74867e;margin:0 0 8px;}
.camp-rules h2{font-size:1.125rem;line-height:1.6;font-weight:700;color:#315c4d;margin:0 0 14px;overflow-wrap:anywhere;}
.camp-rules h3{font-size:.9375rem;line-height:1.6;margin:20px 0 8px;font-weight:700;}
.camp-rules p{font-size:.875rem;line-height:1.8;margin:0 0 12px;overflow-wrap:anywhere;}
.camp-rules .rules-important{font-size:.875rem;font-weight:500;color:inherit;}
.camp-rules .rules-contract-note{font-weight:400;background:#f2f7f4;border-left:2px solid #b6d1c3;border-radius:4px;padding:10px 12px;}
.rules-pdf{display:block;font-size:.875rem;font-weight:600;margin:18px 0;color:#326b56;text-decoration:underline;}
.rules-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.rules-actions button{font-size:.875rem;font-weight:600;padding:10px 16px;min-height:44px;}
.camp-rules :focus-visible{outline:2px solid #156cdb;outline-offset:3px;}
.camp-rules h2:focus{outline:none;}
@media(max-width:520px){.camp-rules{padding:20px 18px;border-radius:16px;width:calc(100vw - 40px);max-height:74dvh;}.rules-actions{flex-direction:column;}.rules-actions button{width:100%;}}

/* Camp Day: prioritize the next action, with supporting detail on demand. */
.camp-header{padding:12px max(20px,calc((100vw - 1120px)/2));gap:16px;}
.camp-header img{width:104px;height:58px;object-fit:contain;}
.camp-header span{font-size:.7rem;letter-spacing:.025em;}
.camp-help-actions{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 24px;}
.camp-help-actions .tour-launch{margin:0;padding:10px 12px;min-height:44px;font-size:.8125rem;line-height:1.5;border-color:#d2dee2;}
.camp-day #notice:empty{display:none;}
.home-guide h2{margin:8px 0 20px;}
.home-guide-details{margin-top:24px;border-top:1px solid var(--line);padding-top:8px;}
.home-guide-details>summary,.community-more>summary,.team-detail>summary{cursor:pointer;min-height:44px;padding:12px 0;font-size:.875rem;color:#42626c;line-height:1.5;}
.home-guide-details>.muted{margin:16px 0 0;line-height:1.8;}
#community-board{margin-top:36px;padding:24px;background:#f8fbf9;}
#community-board h2{margin:8px 0 20px;font-size:1.5rem;}
#community-board h3{margin:24px 0 16px;font-size:1rem;}
.community-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.community-toolbar .community-updated{margin:0;flex:1;min-width:120px;font-size:.8125rem;line-height:1.6;}
.community-toolbar button{min-height:44px;padding:8px 12px;font-size:.8125rem;flex:none;}
.community-teams{gap:16px;margin:0;align-items:start;}
.community-team{padding:20px;border-radius:14px;}
.community-team-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;}
.community-team-heading>div{min-width:0;}
.community-team .eyebrow{font-size:.75rem;letter-spacing:.08em;}
.community-team h4{font-size:1rem;line-height:1.6;margin:8px 0 0;overflow-wrap:anywhere;font-weight:600;}
.community-team .team-points{flex-shrink:0;font-size:1.125rem;line-height:1.6;white-space:nowrap;}
.team-detail{margin-top:12px;border-top:1px solid #e4ede8;}
.team-detail>summary{padding-bottom:0;}
.team-detail[open]>summary{padding-bottom:12px;}
.community-team p{font-size:.875rem;line-height:1.8;margin:8px 0;}
.community-team progress{display:block;appearance:none;height:6px;border:0;border-radius:8px;overflow:hidden;background:#e1ece6;margin:14px 0;}
.community-team progress::-webkit-progress-bar{background:#e1ece6;border-radius:8px;}
.community-team progress::-webkit-progress-value{background:#2a8f72;border-radius:8px;}
.community-team progress::-moz-progress-bar{background:#2a8f72;border-radius:8px;}
.community-more{border-top:1px solid var(--line);margin-top:20px;padding-top:4px;}
.community-more p{margin:12px 0;line-height:1.8;}
.community-people li{padding:12px 0;}
.community-people li span{display:block;margin:4px 0 0;}
@media(max-width:740px){
 .camp-header{padding:10px 20px;gap:12px;}
 .camp-header img{width:88px;height:48px;}
 .camp-header span{font-size:.625rem;}
 .camp-day{padding:28px 20px calc(104px + env(safe-area-inset-bottom,0px));}
 .camp-day h1{font-size:1.5rem;line-height:1.5;margin:10px 0 12px;}
 .camp-day>.lead{font-size:.875rem;line-height:1.8;}
 .camp-day>.eyebrow{font-size:.7rem;}
 .camp-help-actions{margin:16px 0 24px;}
 .home-guide{padding:24px 0 32px;}
 .home-guide h2{font-size:1.25rem;line-height:1.6;}
 .home-guide>button{margin:12px 0 0;min-height:48px;font-size:.9375rem;}
 .home-guide>button:not(.primary){background:transparent;border-color:#d2dee2;}
 .camp-step{padding:16px;}
 .camp-steps{gap:12px;margin:12px 0;}
 .activity-strip{position:static;margin:0 0 8px;padding:8px 10px;border-radius:12px;gap:10px;background:#f2f7f4;}
 .activity-strip>small{flex-basis:40px;font-size:.625rem;line-height:1.6;}
 .activity-strip .activity-ticker{background:transparent;color:#315c4d;border-radius:0;overflow-x:auto;padding:12px 0;}
 .activity-strip .ticker-rail{animation:none;padding:0;gap:24px;width:max-content;max-width:none;flex-wrap:nowrap;}
 .activity-strip .ticker-item{color:#315c4d;font-size:.8125rem;line-height:1.6;}
 .activity-strip .ticker-pause{display:none;}
 #community-board{margin-top:32px;padding:20px 16px;border-radius:16px;}
 #community-board h2{font-size:1.25rem;}
 .community-teams{grid-template-columns:minmax(0,1fr);gap:16px;}
 .community-team{padding:16px;}
 .community-team-heading{gap:12px;}
 .community-team h4{font-size:.9375rem;}
 .camp-day nav.camp-tabs{padding:6px 8px calc(6px + env(safe-area-inset-bottom,0px));gap:4px;border-radius:14px 14px 0 0;box-shadow:0 -2px 12px #163c450a;}
 .camp-day .camp-tabs button{min-height:52px;padding:6px 2px;gap:4px;font-size:.6875rem;border-radius:10px;}
 .camp-day .camp-tabs button[aria-current=page]{background:#e5f2ec;color:#164d51;}
}

/* Give the timetable a readable rhythm; keep entrance instructions concise. */
.day-schedule{margin:28px 0;padding:24px;}
.day-schedule>summary{min-height:44px;line-height:1.6;font-size:1rem;padding:8px 0;}
.schedule-entry{margin:20px 0 8px;padding:16px 18px;background:#f3f7f4;border-radius:12px;}
.schedule-entry-row{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:baseline;}
.schedule-entry-row+.schedule-entry-row{margin-top:16px;}
.schedule-entry-row>span{font-size:.8125rem;color:#516970;}
.schedule-entry-row>strong{font-size:.875rem;font-weight:600;line-height:1.8;overflow-wrap:anywhere;}
.schedule-entry .schedule-entry-note{margin:16px 0 0;padding-top:12px;border-top:1px solid #dce7df;font-size:.8125rem;line-height:1.8;color:#516970;}
.day-schedule>ol{margin:8px 0 0;}
.day-schedule li{padding:28px 0;gap:10px 20px;}
.day-schedule time{font-size:.875rem;line-height:1.7;}
.day-schedule .schedule-title{font-size:1rem;line-height:1.7;}
.day-schedule li p{font-size:.875rem;line-height:1.9;}
.day-schedule .schedule-footnote{margin:20px 0 28px;font-size:.8125rem;line-height:1.8;color:#607475;}
.day-schedule .venue-guide{margin:24px 0;}
.day-schedule .venue-guide p{margin:12px 0;line-height:1.9;font-size:.875rem;}
.day-schedule>.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;margin-top:8px;}
@media(max-width:740px){
 .day-schedule{padding:20px;margin:28px 0;border-radius:16px;}
 .day-schedule>summary{font-size:.9375rem;}
 .schedule-entry{padding:16px;margin:20px 0 4px;}
 .schedule-entry-row{grid-template-columns:1fr;gap:4px;}
 .schedule-entry-row+.schedule-entry-row{margin-top:18px;}
 .day-schedule li{grid-template-columns:1fr;gap:10px;padding:28px 0;}
 .day-schedule li p{grid-column:1;}
 .day-schedule>.button{width:100%;font-size:.875rem;}
}
