:root{--ink:#181919;--paper:#fffdf0;--accent:#ff7035;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;min-height:100%}body{height:100svh;overflow:hidden}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #181919;outline-offset:5px}[hidden]{display:none!important}
body[data-direction=night]{--accent:#7970d8}body[data-direction=tide]{--accent:#b6e535}
.world-stage{position:fixed;inset:0;overflow:hidden;background:var(--paper);touch-action:none}.world-stage img,.world-stage canvas{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.world-stage img{transition:transform .65s ease}.world-stage canvas{opacity:0}.world-stage canvas.ready{opacity:1}
.brand{position:fixed;top:28px;left:30px;z-index:3}.brand a{display:flex;align-items:center;gap:20px;background:var(--paper);padding:13px 15px;border:1.5px solid var(--ink);box-shadow:3px 3px 0 var(--ink);border-radius:2px}#brand-name{font-size:12px;font-weight:850;letter-spacing:-.2px;line-height:1.08}.brand-star{font-size:31px;line-height:1}
.entrance{position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);width:min(590px,75vw);text-align:center;z-index:2;transition:opacity .35s,filter .35s;pointer-events:none}.entrance h1{font-size:clamp(36px,5.1vw,78px);font-weight:700;letter-spacing:-.055em;line-height:.99;margin:0 0 29px}.headline-line{display:block;white-space:nowrap}.word{display:inline-block}.word-three{font-style:italic;letter-spacing:-.07em}.enter-button{display:inline-flex;align-items:center;gap:24px;min-height:48px;padding:12px 17px 12px 21px;background:var(--ink);color:var(--paper);border:1.5px solid var(--ink);border-radius:3px;box-shadow:4px 4px 0 var(--accent);font-size:13px;font-weight:600;letter-spacing:-.2px;pointer-events:auto;transition:transform .2s,box-shadow .2s}.enter-button:hover{transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--accent)}.button-symbol{font-size:23px;line-height:1}.arrive .word{animation:word-in 1s cubic-bezier(.2,.8,.2,1) both}.arrive .word-two{animation-delay:.07s}.arrive .word-three{animation-delay:.15s}.arrive .word-four{animation-delay:.21s}.arrive .enter-button{animation:button-in 1s .32s both}@keyframes word-in{from{opacity:0;transform:translateY(13px);filter:blur(3px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes button-in{from{opacity:0;translate:0 8px}to{opacity:1;translate:0 0}}
.design-dock{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:5;display:flex;align-items:stretch;background:var(--paper);border:1.5px solid var(--ink);border-radius:8px;box-shadow:4px 4px 0 var(--ink);padding:4px;gap:4px}.design-dock [role=group]{display:flex;gap:2px}.design-dock button{display:flex;align-items:center;gap:7px;border:0;background:transparent;padding:12px 10px;border-radius:4px;font-size:11px;font-weight:600;white-space:nowrap;transition:background .15s}.design-dock button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.design-dock button:hover{background:#eae8dc}.design-dock button[aria-pressed=true]:hover{background:#363535}.design-dock button>span:first-child{font-size:10px;opacity:.65}.palette-chip{width:18px;height:18px;border-radius:50%;border:1px solid #ffffff7a}.chip-a{background:conic-gradient(#ff7035 0 25%,#f16caf 25% 50%,#2175bc 50% 75%,#fffdf0 75%)}.chip-b{background:conic-gradient(#2855a0 0 25%,#9172d1 25% 50%,#ff976f 50% 60%,#fffdf0 60%)}.chip-c{background:conic-gradient(#b6e535 0 25%,#24b1a0 25% 50%,#181919 50% 75%,#fffdf0 75%)}#names-toggle{border-left:1px solid #d4d1c6;border-radius:0;padding-left:13px}#names-toggle span{font-size:16px!important;opacity:1!important}
.world-tools,.effect-controls{position:fixed;bottom:28px;z-index:4;display:flex;gap:7px}.world-tools{left:30px;align-items:center}.effect-controls{right:30px;flex-direction:column;align-items:flex-end}.world-tools button,.effect-controls button{min-height:40px;display:flex;align-items:center;gap:7px;background:var(--paper);border:1.5px solid var(--ink);border-radius:4px;padding:10px 12px;font-size:11px;font-weight:600;box-shadow:2px 2px 0 var(--ink)}.world-tools button:hover,.effect-controls button:hover{background:#f0eee1}.world-tools button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.motion-symbol{font-size:12px}#replay{padding:10px 9px}.wander-hint{position:fixed;top:100px;left:50%;transform:translateX(-50%);padding:10px 14px;background:var(--paper);border:1.5px solid var(--ink);font:10px/1.5 monospace;letter-spacing:.6px;text-align:center;z-index:4}.exploring .entrance{opacity:0;filter:blur(8px);pointer-events:none}.exploring .world-stage{cursor:crosshair}
.name-panel{position:fixed;bottom:91px;left:50%;transform:translateX(-50%);z-index:6;width:min(380px,calc(100vw - 32px));background:var(--paper);border:1.5px solid var(--ink);box-shadow:5px 5px 0 var(--ink);padding:22px;border-radius:7px}.name-panel-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.name-panel h2{font-size:19px;letter-spacing:-.5px;margin:0}.name-panel-top button{border:0;background:transparent;padding:5px}.name-panel label{display:block;font-size:11px;margin-bottom:7px}.name-panel select{width:100%;border:1px solid var(--ink);border-radius:3px;background:transparent;padding:10px;font-size:14px}.name-panel p{font-size:13px;line-height:1.45}.name-panel .name-note{font-size:10px;opacity:.7}.name-panel #copy-link{border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);padding:10px 13px;font-size:12px}#copy-status{font-size:11px;margin-bottom:0;min-height:16px}.studio-off .design-dock,.studio-off .name-panel{display:none}.noscript{position:fixed;bottom:85px;width:100%;text-align:center;background:var(--paper);font-size:12px}.motion-paused *{animation:none!important}.motion-paused .entrance .word,.motion-paused .enter-button{opacity:1;filter:none}
.experiment-page{background:var(--paper);height:auto;min-height:100svh;overflow:auto}.experiment-container{max-width:800px;padding:180px 40px 100px;margin:auto}.experiment-marker{font:11px monospace;letter-spacing:2px}.experiment-container h1{font-size:clamp(42px,7vw,82px);letter-spacing:-.06em;line-height:1.04;margin:30px 0 22px}.experiment-container p{font-size:18px;margin-bottom:38px}
@media(min-width:1700px){.entrance{width:720px}.entrance h1{font-size:88px}}
@media(max-width:1100px){.direction-name{display:none}.design-dock button{padding:12px}.world-tools{left:20px}.effect-controls{right:20px}.brand{left:20px;top:20px}.entrance{width:min(500px,80vw)}.entrance h1{font-size:clamp(34px,5.2vw,65px)}}
@media(max-width:800px){.world-tools,.effect-controls{bottom:90px}}
@media(max-width:600px){.brand{top:18px;left:16px}.brand a{padding:10px;gap:10px}#brand-name{font-size:9px}.brand-star{font-size:24px}.entrance{top:45%;width:94vw}.entrance h1{font-size:clamp(29px,8.6vw,49px);letter-spacing:-.065em;margin-bottom:24px}.enter-button{min-height:44px;font-size:12px;padding:10px 14px 10px 16px;gap:18px}.button-symbol{font-size:21px}.design-dock{bottom:22px;padding:3px;gap:2px}.design-dock button{padding:10px 11px;gap:8px}.world-tools{left:16px;bottom:87px}.world-tools button,.effect-controls button{font-size:10px;padding:9px 10px}.effect-controls{right:16px;bottom:87px}#replay{font-size:9px;padding:9px 7px}.name-panel{bottom:84px}.wander-hint{top:89px;width:max-content;max-width:calc(100vw - 30px);font-size:9px}.experiment-container{padding:150px 24px 70px}.experiment-container h1{font-size:45px}.studio-off .world-tools,.studio-off .effect-controls{bottom:22px}}
@media(max-width:360px){#replay{display:none}.entrance h1{font-size:8.5vw}.design-dock button{padding:10px 8px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.waiting .world-stage img{filter:brightness(.025)}.waiting .entrance{opacity:0}.motion-paused.waiting .world-stage img{filter:none}.motion-paused.waiting .entrance{opacity:1}.logo-link{display:inline-block;font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(prefers-reduced-motion:reduce){.waiting .world-stage img{filter:none}.waiting .entrance{opacity:1}}

.fallback-entrance{animation:painted-in 1.7s ease both}@keyframes painted-in{from{filter:brightness(.025)}to{filter:brightness(1)}}

.brand{display:flex;flex-direction:column;align-items:flex-start;gap:9px}
.brand-mark{display:block;width:48px;height:48px;object-fit:contain;flex-shrink:0;border-radius:2px}
@media(max-width:600px){.brand-mark{width:40px;height:40px}}
