:root{color:#62594c;font-synthesis:none;background:#f3e8d7;font-family:ui-rounded,SF Pro Rounded,-apple-system,BlinkMacSystemFont,sans-serif}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(at 50% 45%,#fbf3e6,#f0e3d0)}#world{touch-action:none;outline:none;width:100%;height:100%}canvas{touch-action:none;display:block}.tools{top:max(22px, env(safe-area-inset-top));right:max(24px, env(safe-area-inset-right));gap:8px;display:flex;position:fixed}button{font:inherit;color:#766957;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fcf6ebbb;border:1px solid #96836b29;border-radius:50%;min-width:44px;min-height:44px;font-size:21px;transition:background .2s,transform .2s}button:hover{background:#fffaf1;transform:translateY(-1px)}button:focus-visible,#world:focus-visible{outline-offset:-3px;outline:2px solid #8b9b63}#hint{bottom:max(35px, env(safe-area-inset-bottom));text-align:center;letter-spacing:.02em;color:#8e806d;pointer-events:none;font-size:13px;line-height:1.8;transition:opacity 1.2s;position:fixed;left:20px;right:20px}#hint.fade{opacity:0}.mobile{display:none}#notice{text-align:center;color:#896951;pointer-events:none;width:100%;font-size:12px;position:fixed;bottom:12px}dialog{color:#665c4e;background:#fff9ef;border:1px solid #d9cbb5;border-radius:24px;width:min(440px,100% - 36px);padding:40px;box-shadow:0 20px 100px #53482b25}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#51432b25}dialog #close{background:0 0;border:0;position:absolute;top:12px;right:12px}.eyebrow{letter-spacing:2px;color:#859367;font-size:10px}h1{margin:18px 0;font-family:Georgia,serif;font-size:30px;font-weight:400;line-height:1.2}dialog p,dd{font-size:14px;line-height:1.7}dt{margin-top:18px;font-size:13px;font-weight:650}dd{color:#8b7e6d;margin:3px 0}.quiet{color:#8b9174;padding-top:14px}.sr{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=600px){.tools{top:max(18px, env(safe-area-inset-top));gap:5px;right:18px}.tools button{width:42px;height:42px}.mobile{display:initial}#hint{font-size:12px;bottom:60px}dialog{padding:30px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#characters svg{margin:auto;display:block}#character-guide{width:min(760px,100% - 28px);max-height:calc(100dvh - 48px);padding:0;overflow:hidden}#character-guide[open]{flex-direction:column;display:flex}.guidebook-header{border-bottom:1px solid #dfd1ba;flex-shrink:0;padding:30px 64px 20px 28px;position:relative}.guidebook-header h1{margin:10px 0 8px}.guidebook-header p{color:#897c68;margin:0}.dialog-close{background:0 0;border:0;position:absolute;top:12px;right:12px}.guidebook-pages{overscroll-behavior:contain;touch-action:pan-y;min-height:0;padding:10px 24px 18px;overflow-y:auto}.guidebook-pages:focus-visible{outline-offset:-3px;outline:2px solid #8b9b63}.character-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;margin:0;padding:0;list-style:none;display:grid}.character-card{border-bottom:1px solid #e7dcc9;align-items:flex-start;gap:10px;padding:22px 0;display:flex}.character-card canvas{background:color-mix(in srgb, var(--character-color) 16%, #fff9ef);touch-action:pan-y;border-radius:16px;flex:0 0 66px;width:66px;height:80px}.character-card h2{color:#605440;margin:5px 0 9px;font:400 21px/1.2 Georgia,serif}.character-room{color:#83775f;letter-spacing:1px;text-transform:uppercase;font-size:10px}.character-card p{margin:0;font-size:13px;line-height:1.65}.guidebook-footer{text-align:center;color:#8b9174;margin:20px 0 0;font-style:italic}@media (width<=600px){.character-list{grid-template-columns:1fr}.guidebook-header{padding:24px 54px 16px 20px}.guidebook-header h1{font-size:27px}.guidebook-header .eyebrow{letter-spacing:1.2px;font-size:9px}.guidebook-pages{padding:0 18px 18px}#character-guide{max-height:calc(100dvh - 32px)}}.beach-book-icon{text-align:center;color:#be945c;align-self:center;font-size:68px}#background-guide{width:calc(100% - 32px);max-width:560px}.background-choices{grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;display:grid}.background-choices button{-webkit-backdrop-filter:none;backdrop-filter:none;border-radius:14px;padding:9px 9px 15px;font-size:16px;overflow:hidden}.background-choices button[aria-pressed=true]{outline-offset:2px;outline:3px solid #8b9b63}.background-choices strong,.background-choices small{display:block}.background-choices small{margin-top:5px;font-size:11px}.theme-swatch{border-radius:8px;height:92px;margin-bottom:13px;display:block}.theme-swatch.sky{background:linear-gradient(#b8d9e8 72%,#bed297 72% 83%,#ae9070 83%)}.theme-swatch.desk{background:linear-gradient(#f6ecdc 72%,#e0bd88 72% 83%,#946f4b 83%)}.theme-swatch.space{background:radial-gradient(circle at 25% 25%,#fff0c6 1px,#0000 2px),radial-gradient(circle at 70% 48%,#fff0c6 1px,#0000 2px),linear-gradient(#151c3a 72%,#e0dcd1 72% 83%,#a6a3ad 83%)}body[data-background=space] #hint,body[data-background=space] #notice{color:#e6dccb}@media (width<=420px){.background-choices{gap:7px}.background-choices button{padding:7px 5px 12px}.theme-swatch{height:76px}.tools{gap:6px;right:14px}}[hidden]{display:none!important}#cube-picker{width:min(480px,100% - 28px);max-height:calc(100dvh - 40px);padding:30px}#cube-picker h1{margin:15px 0 10px}#cube-picker-summary{color:#8b7e6d;margin:0 0 16px;font-size:13px}.cube-list{overscroll-behavior:contain;max-height:48dvh;margin:0;padding:0;list-style:none;overflow-y:auto}.cube-list li{margin:0 0 7px}.cube-list button{text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;background:#f4ecdf;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:64px;padding:9px 12px;font-size:14px;display:flex}.cube-list button:disabled{cursor:default;opacity:.55;transform:none}.cube-copy{flex:1}.cube-copy strong,.cube-copy small{display:block}.cube-copy small{color:#8b7e6d;margin-top:4px;font-size:11px;font-weight:400}.cube-swatch{border:2px solid #493f352b;border-radius:7px;width:28px;height:28px;box-shadow:inset 0 2px #ffffff40}.cube-state{font-size:20px}.cube-list button:disabled .cube-state{font-size:11px}.cube-empty{padding:24px 0;font-size:14px;line-height:1.6}#cube-picker-status{color:#748052;min-height:22px;margin:12px 0 0;font-size:12px}#empty-world{text-align:center;pointer-events:none;color:#796b58;position:fixed;top:43%;left:20px;right:20px}#empty-world strong{font:24px Georgia,serif}#empty-world p{font-size:14px}body[data-background=space] #empty-world{color:#e6dccb}#reset-toast{color:#6c604e;white-space:nowrap;background:#fff8ec;border-radius:16px;align-items:center;gap:14px;max-width:calc(100% - 24px);padding:7px 10px 7px 18px;font-size:13px;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 6px 30px #493f3526}#undo-reset{border-radius:10px;padding:0 12px;font-size:14px}@media (width<=600px){.tools{top:max(12px, env(safe-area-inset-top));grid-template-columns:repeat(4,44px);gap:6px;display:grid;right:14px}#cube-picker{padding:27px 19px}#cube-picker h1{font-size:27px}}.guide-switch{gap:8px;margin-top:16px;display:flex}.guide-switch button{-webkit-backdrop-filter:none;backdrop-filter:none;font:inherit;color:#675840;background:#f6efdf;border:1px solid #d1bea0;border-radius:18px;padding:7px 14px;font-size:13px;transition:none}.guide-switch button[aria-pressed=true]{color:#fff9e9;background:#5e7046;border-color:#5e7046}.character-list[hidden],.interaction-guide[hidden],.guidebook-footer[hidden]{display:none}.interaction-guide{font-size:14px;line-height:1.6}.interaction-filters{grid-template-columns:1fr 1fr;gap:12px;display:grid}.interaction-filters label{color:#716248;flex-direction:column;gap:5px;min-width:0;font-size:12px;display:flex}.interaction-filters select{width:100%;min-width:0;font:inherit;color:#5b503d;background:#fff9ed;border:1px solid #d1bea0;border-radius:8px;padding:10px 5px;font-size:16px}.interaction-count{color:#7b8261;font-size:12px}.interaction-list{margin:0;padding:0;list-style:none}.interaction-list li{border-bottom:1px solid #e7dcc9;padding:18px 0}.interaction-list h2{color:#605440;margin:0 0 4px;font:400 20px/1.3 Georgia,serif}.interaction-list small{color:#8d7b60}.interaction-list p{margin:8px 0 10px}.interaction-list button{font:inherit;color:#637249;background:#f1f1e3;border:1px solid #ced0b9;border-radius:7px;padding:6px 10px;font-size:12px}.interaction-area{color:#7a6c55;padding:18px 0;font-size:13px}
