@font-face{font-family:Atlas;src:local('Avenir Next'),local('Avenir'),local('Trebuchet MS');font-display:swap}
:root{font-family:Atlas,system-ui,sans-serif;color:#182c49;background:#f5f8fc;font-synthesis:none;--blue:#173f91;--teal:#087b79;--orange:#ae410c;--yellow:#ffce47;--border:#c5d3e5;--paper:#fff;--ink:#182c49}
*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button,a.button{min-height:48px;border-radius:14px;border:2px solid var(--border);background:white;color:var(--ink);padding:10px 16px;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;line-height:1.25}button:hover,a.button:hover{border-color:var(--blue)}button:disabled{opacity:.5;cursor:default}button.primary,a.primary{color:white;background:var(--blue);border-color:var(--blue)}button.quiet{border:0;background:transparent;padding:10px;color:var(--blue)}a{color:var(--blue)}:focus-visible{outline:4px solid #c05206;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(2rem,4vw,3.1rem);line-height:1.15;letter-spacing:-.025em}h2{font-size:1.65rem;line-height:1.25}p{font-size:1.05rem;line-height:1.55}.muted{color:#4e6381}.eyebrow{text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:.8rem;color:var(--teal);margin-bottom:8px}.skip{position:absolute;top:-70px;left:12px;background:white;padding:16px;z-index:20}.skip:focus{top:8px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 5vw;border-bottom:1px solid var(--border);background:white}.brand{font-weight:900;font-size:1.3rem;display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--ink);white-space:nowrap}.brand-mark{border-radius:50%;background:var(--blue);color:var(--yellow);height:40px;width:40px;display:grid;place-items:center;font-size:1.7rem}.topbar nav{display:flex;gap:8px}.topbar nav a{display:flex;align-items:center;gap:8px;text-decoration:none;border-radius:12px;min-height:48px;padding:10px 14px;font-weight:700;color:var(--ink)}.topbar nav a[aria-current]{background:#e4ecfa;color:var(--blue)}.topbar nav span{font-size:1.6rem}main{max-width:1240px;margin:auto;padding:36px 32px 26px;min-height:calc(100vh - 170px)}.intro{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-bottom:26px}.intro p{margin-top:12px}.materials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.material{display:flex;flex-direction:column;overflow:hidden;background:white;border-radius:25px;border:2px solid var(--border);text-decoration:none;color:var(--ink);box-shadow:0 5px 0 #dce5f1;transition:transform .15s}.material:hover{transform:translateY(-3px);border-color:var(--blue)}.material .sample{display:flex;background:#edf2fa;padding:20px 24px;aspect-ratio:1.3;align-items:center;justify-content:center}.sample svg{width:100%;height:100%;filter:drop-shadow(0 6px 6px #142a4a18);border-radius:5px}.material-copy{padding:20px 23px 23px}.material h2{display:flex;justify-content:space-between;align-items:center}.material h2 span{font-size:.95rem;border-radius:999px;padding:7px 11px;background:#edf2fa;color:var(--blue)}.material p{margin:8px 0 14px}.material .instruction{font-weight:800;color:var(--blue)}.museum-invite{margin-top:28px;background:var(--blue);border-radius:22px;padding:24px 28px;display:flex;justify-content:space-between;align-items:center;color:white;gap:16px}.museum-invite p{color:#e1eafa;margin-top:5px}.museum-invite .button{border-color:white;background:white;color:var(--blue)}.view-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.view-heading h1{font-size:2rem}.view-heading .eyebrow{margin-bottom:4px}.heading-actions,.actions,.palette,.choice-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.editor{display:grid;grid-template-columns:200px minmax(0,1fr);gap:22px}.tools{padding:18px;border:2px solid var(--border);border-radius:20px;background:white;display:flex;flex-direction:column;gap:20px;align-self:start}.tool-group h2{font-size:1rem;margin-bottom:10px}.palette{gap:8px}.swatch{width:48px;padding:0;border:3px solid white;box-shadow:0 0 0 1px #a7b7cc;color:white;position:relative}.swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--blue)}.swatch[aria-pressed=true]::after{content:'✓';display:block;background:#182c49;border-radius:50%;height:20px;width:20px;font-size:14px;line-height:20px}.choice-row button{padding:8px 12px;flex:1;min-width:48px}.choice-row button[aria-pressed=true]{background:#e4ecfa;border-color:var(--blue);color:var(--blue)}.shape-button{font-size:1.6rem}.tool-group .hint{font-size:.9rem;margin-top:8px;color:#4e6381}.canvas-wrap{min-width:0}.play-tip{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.play-tip p{font-weight:700}.board{position:relative;border:2px solid #96abc8;border-radius:12px;background:white;overflow:hidden;box-shadow:0 8px 0 #dce5f1;touch-action:none;aspect-ratio:3/2}.board svg{display:block;width:100%;height:100%;touch-action:none;cursor:crosshair}.board:focus-visible{outline-offset:6px}.board-hint{font-size:.8rem;margin-top:14px;color:#4e6381}.editor .actions{justify-content:space-between;margin-top:18px}.selection{pointer-events:none}.selection rect{fill:none;stroke:#173f91;stroke-width:3;stroke-dasharray:7 5}.cursor{pointer-events:none}.cursor path{stroke:#ae410c;stroke-width:3}.cursor circle{fill:white;stroke:#ae410c;stroke-width:2}.keyboard-instructions{font-size:.85rem;margin-top:8px}.notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);border:2px solid #7ccdc4;background:#153c3b;color:white;padding:14px 22px;border-radius:16px;z-index:30;max-width:calc(100% - 24px);box-shadow:0 4px 18px #182c4926;font-weight:700}.notice[hidden]{display:none}dialog{width:min(660px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;border:0;border-radius:24px;padding:26px;color:var(--ink);box-shadow:0 24px 90px #13284760}dialog::backdrop{background:#132847a6}.dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px;margin-bottom:18px}.dialog-head button{padding:8px 14px;min-width:48px}.history-art{display:grid;grid-template-columns:150px minmax(0,1fr);gap:20px;align-items:center;background:#edf2fa;padding:16px;border-radius:16px;margin-bottom:18px}.history-art img{width:100%;height:180px;object-fit:contain;background:#fff;border-radius:10px}.history-art svg{width:100%;height:160px}.history-art h3{font-size:1.15rem}.history-art p{font-size:.95rem;margin-top:8px}.history-art small{display:block;font-size:.85rem;margin-top:8px;color:#4e6381;line-height:1.4}.history-notice{font-size:1.2rem;margin:16px 0}.dialog-actions{display:flex;justify-content:space-between;gap:12px;margin-top:20px;flex-wrap:wrap}.adult-note{margin:16px 0;padding-top:16px;border-top:1px solid var(--border)}.adult-note p,.adult-note li{font-size:.95rem;line-height:1.5}.adult-note h3{margin-bottom:8px}.adult-note li{margin-bottom:8px}summary{cursor:pointer;font-weight:700;min-height:48px;display:flex;align-items:center}details p{margin:8px 0}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.art-card{border:2px solid var(--border);border-radius:20px;overflow:hidden;background:white}.art-card .art-image{display:block;width:100%;aspect-ratio:3/2;padding:0;border:0;border-radius:0;background:#edf2fa}.art-image svg{width:100%;height:100%;pointer-events:none}.art-card-copy{padding:17px}.art-card h2{font-size:1.25rem}.art-card p{font-size:.95rem;margin-top:5px}.art-card .actions{margin-top:14px;justify-content:space-between}.empty{background:white;border:2px dashed #a3b7d2;border-radius:25px;min-height:300px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;padding:28px}.empty .empty-icon{font-size:3rem;color:var(--blue)}.atlas-map{position:relative;background:#deedf7;border:2px solid #aac5d8;border-radius:22px;padding:16px 16px 0;margin-bottom:20px;overflow:hidden}.atlas-map img{display:block;width:100%;height:auto;max-height:400px}.atlas-pin{position:absolute;transform:translate(-50%,-50%);border-radius:50%;min-width:52px;height:52px;background:var(--blue);color:white;border:4px solid white;padding:0;font-size:1.4rem;box-shadow:0 2px 5px #182c4933}.atlas-pin:hover{background:var(--teal);border-color:white}.atlas-map .legend{font-size:.9rem;padding:8px 0 16px}.time-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.time-card{border:2px solid var(--border);background:white;border-radius:18px;padding:20px}.time-card h2{font-size:1.25rem;margin:6px 0}.time-card p{font-size:.95rem;margin-bottom:14px}.time-card .time-label{font-size:1rem;color:var(--blue);font-weight:800}.time-card .button{width:100%}.atlas-context{margin-top:20px;font-size:.95rem}.grow-body h3{margin:20px 0 8px}.grow-body ul{padding-left:20px}.grow-body li{line-height:1.5;margin:9px 0}.grow-body p{margin:10px 0}footer{padding:16px 5vw;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#4e6381;font-size:.85rem}footer button{font-size:.9rem}.confirm-copy{margin:12px 0}.storage-warning{background:#fff0ce;border:2px solid #c05206;border-radius:14px;padding:12px 16px;margin-bottom:18px}.storage-warning p{font-size:.95rem}
.move-buttons{margin-top:10px}.move-buttons button{min-width:48px;flex:0;font-size:1.3rem;padding:8px}.atlas-map img{aspect-ratio:2/1}.atlas-pin{display:grid;place-items:center}main:focus{outline:none}.map-picture{position:relative}.map-lines{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.map-lines path{fill:none;stroke:#173f91;stroke-width:3}.map-lines circle{fill:#173f91;stroke:#fff;stroke-width:2}
@media(max-width:900px){main{padding:26px 22px}.editor{grid-template-columns:160px minmax(0,1fr);gap:16px}.tools{padding:12px}.materials{gap:14px}.material-copy{padding:18px}.material h2{font-size:1.5rem}.gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.topbar{padding:10px 14px;flex-wrap:wrap;gap:8px}.brand{font-size:1.15rem}.brand-mark{width:34px;height:34px;font-size:1.4rem}.topbar nav{width:100%;justify-content:space-between;gap:4px}.topbar nav a{padding:9px 10px;flex:1;justify-content:center;font-size:.95rem}.topbar nav span{font-size:1.25rem}main{padding:24px 16px;min-height:calc(100vh - 206px)}h1{font-size:2rem}.intro{align-items:start;margin-bottom:20px}.intro p{font-size:1rem}.materials{grid-template-columns:1fr;gap:16px}.material{flex-direction:row;border-radius:20px}.material .sample{width:35%;flex-shrink:0;aspect-ratio:auto;padding:12px}.material-copy{padding:16px;flex:1}.material h2{font-size:1.5rem}.material h2 span{font-size:.8rem;padding:5px 8px}.material p{font-size:.95rem;margin:6px 0 10px}.material .instruction{font-size:.95rem}.museum-invite{padding:20px;align-items:start;flex-direction:column}.museum-invite h2{font-size:1.4rem}.view-heading{flex-wrap:wrap}.heading-actions{gap:6px}.heading-actions button{font-size:.9rem;padding:9px 12px}.editor{display:flex;flex-direction:column;gap:14px}.tools{order:1;display:grid;grid-template-columns:1fr 1fr;gap:15px}.canvas-wrap{order:0}.tools .tool-group:last-child:nth-child(3){grid-column:1/-1}.tool-group h2{margin-bottom:8px}.play-tip{align-items:start}.play-tip p{font-size:1rem;max-width:240px}.play-tip button{font-size:.9rem;white-space:nowrap;padding:9px 12px}.editor .actions{gap:8px}.editor .actions button{padding:10px 12px;font-size:.95rem}.board-hint{margin-top:10px}.keyboard-instructions{display:none}.gallery{grid-template-columns:1fr}.time-lanes{grid-template-columns:1fr}.time-card{display:grid;grid-template-columns:1fr 130px;column-gap:16px;align-items:center}.time-card h2,.time-card p,.time-card .time-label{grid-column:1}.time-card .button{grid-column:2;grid-row:1/4}.atlas-map{padding:8px 8px 0}.atlas-map img{min-height:205px;object-fit:fill}.atlas-pin{min-width:44px;height:44px;border-width:3px;font-size:1.15rem}.atlas-map .legend{font-size:.8rem;padding:8px}.history-art{grid-template-columns:100px 1fr;gap:12px;padding:12px}.history-art img{height:150px}.history-art h3{font-size:1rem}.history-art p{font-size:.9rem}.history-art small{font-size:.8rem}dialog{padding:20px}.dialog-head h2{font-size:1.4rem}.history-notice{font-size:1.05rem}.dialog-actions button{flex:1}footer{padding:12px 16px;align-items:start}footer span{max-width:160px;text-align:right}}
@media(max-height:550px) and (min-width:651px){main{padding-top:18px}.editor{grid-template-columns:190px minmax(0,1fr)}.board{max-width:620px}.topbar{padding-top:8px;padding-bottom:8px}.view-heading{margin-bottom:12px}.tools{gap:12px}.board-hint{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.map-picture img{min-height:0;max-height:none}
.brand-mark{font-size:24px;line-height:1}
@media(max-width:650px){.topbar nav{flex-wrap:wrap}.topbar nav a{flex:1 1 auto;min-width:max-content}.time-card{display:flex;flex-direction:column;align-items:stretch;gap:4px}.time-card .button{margin-top:10px}.time-card h2{overflow-wrap:break-word}.intro{flex-wrap:wrap}h1{overflow-wrap:break-word}.material h2{flex-wrap:wrap;gap:8px}}
@media(orientation:landscape) and (max-height:550px){.board{width:min(100%,calc((100dvh - 130px)*1.5));max-height:none}.canvas-wrap{max-width:100%}}
