:root{--pink:#ff71ce;--cyan:#01cdfe;--lilac:#b967ff;--glass:#ffffff9e;--ink:#2a2438;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;--ui:"Trebuchet MS", "Lucida Grande", Tahoma, system-ui, sans-serif}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--ui);background:#0a0014;margin:0;overflow:hidden}#world{touch-action:none;width:100vw;height:100vh;display:block;position:fixed;inset:0}#world-name{font:900 clamp(18px, 3vw, 32px) / 1 var(--ui);letter-spacing:.04em;color:#fff;text-shadow:0 3px #2a2438,3px 0 #2a2438,-3px 0 #2a2438,0 -3px #2a2438;pointer-events:none;-webkit-user-select:none;user-select:none;position:fixed;bottom:16px;left:20px}.fc-window{background:var(--glass);-webkit-backdrop-filter:blur(18px)saturate(140%);z-index:10;border:2px solid #2a2438d9;border-radius:14px;width:min(440px,100vw - 16px);transition:box-shadow .3s;position:fixed;overflow:hidden;box-shadow:0 6px #2a243859,0 14px 40px #140a2840,inset 0 1px #fffc}.fc-window.fc-dragging{box-shadow:0 0 0 1px var(--cyan), 0 18px 50px #14002899}.fc-title{cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:linear-gradient(90deg,#ffd666b3,#7ed3ffb3);border-bottom:2px solid #2a2438d9;align-items:center;padding:7px 10px 7px 14px;display:flex}.fc-dragging .fc-title{cursor:grabbing}.fc-logo{font:700 13px var(--ui);letter-spacing:.12em}.fc-title-btns{gap:4px;margin-left:auto;display:flex}.fc-title-btns button{padding:0 7px;font-weight:800;line-height:18px}.fc-body{padding:10px 12px}.fc-collapsed .fc-body{display:none}textarea{resize:none;width:100%;color:var(--ink);font:15px/1.35 var(--ui);background:#ffffffb3;border:2px solid #2a24384d;border-radius:9px;outline:none;padding:9px 11px}textarea:focus{border-color:#3d8fe0;box-shadow:0 0 0 3px #3d8fe040}textarea::placeholder{color:#2a243873;font-style:italic}.fc-row{align-items:center;gap:6px;margin-top:8px;display:flex}.fc-spacer{flex:1}button{font:600 12px var(--ui);color:var(--ink);cursor:pointer;background:#ffffffbf;border:2px solid #2a243859;border-radius:7px;padding:5px 9px;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:#fff;border-color:#2a2438d9}button:disabled{opacity:.35;cursor:default}.fc-seg{display:flex}.fc-seg button{border-radius:0}.fc-seg button:first-child{border-radius:7px 0 0 7px}.fc-seg button:last-child{border-left:none;border-radius:0 7px 7px 0}.fc-seg button.on{background:#ffd666;border-color:#2a2438d9}.fc-go{background:#5ee06b;border-color:#2a2438d9;padding:5px 12px}.fc-status{min-height:15px;font:11px var(--mono);color:#2a2438bf;white-space:nowrap;text-overflow:ellipsis;margin-top:7px;overflow:hidden}.fc-status.fc-error{color:#c0392b}.fc-busy .fc-title{background:linear-gradient(90deg,#ffd666cc,#7ed3ffcc,#5ee06bcc,#ffd666cc) 0 0/300% 100%;animation:1.4s linear infinite fc-shimmer}@keyframes fc-shimmer{to{background-position:300% 0}}.hud{pointer-events:none;z-index:5;font-family:var(--ui);position:fixed;inset:0}.hud-stats{font:800 20px var(--ui);color:#fff;text-shadow:0 2px #2a2438,2px 0 #2a2438,-2px 0 #2a2438,0 -2px #2a2438;gap:14px;display:flex;position:absolute;top:16px;left:18px}.hud-coins.all{color:#ffe066}.hud-toast{opacity:0;color:#fff;text-align:center;text-shadow:0 3px #2a2438,3px 0 #2a2438,-3px 0 #2a2438,0 -3px #2a2438;font:900 34px var(--ui);letter-spacing:.04em;transition:opacity .25s,transform .25s;position:absolute;top:22%;left:50%;transform:translate(-50%,-8px)}.hud-toast.on{opacity:1;transform:translate(-50%)}.hud-hint{text-align:center;max-width:min(560px,46vw);font:700 12px var(--ui);color:#fffffff2;text-shadow:0 1px 2px #140a28cc;transition:opacity 1s;position:absolute;top:56px;left:50%;transform:translate(-50%)}.hud-hint.gone{opacity:0}.hud-here{color:#bff4ff}.fc-visitor{font:700 13px var(--ui);align-items:center;gap:10px;padding:10px 14px;display:flex}.fc-visitor b{font-weight:900}.fc-visitor .fc-spacer{flex:1}.fc-dock{z-index:9;pointer-events:none;flex-direction:column;gap:10px;padding-bottom:8px;display:flex;position:fixed;top:56px;bottom:16px;overflow-y:auto}.fc-dock-left{align-items:flex-start;left:14px}.fc-dock-right{align-items:flex-end;right:16px}.fc-dock>.fc-window{pointer-events:auto;flex:none}.fc-window.fc-docked{max-width:calc(100vw - 32px);position:relative}.fc-dock>.fc-grow{flex-direction:column;flex:auto;min-height:180px;display:flex}.fc-dock>.fc-grow.fc-collapsed{flex:none;min-height:0}.fc-grow>.fc-body{flex:1;min-height:0;overflow-y:auto}.fc-panel:not(.fc-docked)>.fc-body{max-height:calc(100vh - 110px);overflow-y:auto}.fc-launcher{z-index:11;background:#2a2438b8;border-radius:999px;align-items:center;gap:8px;padding:4px 6px;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%)}.fc-launcher:not(:has(button)){display:none}.fc-launcher .fc-seg button{padding:4px 11px;font-weight:800}.fc-launcher .fc-seg button:first-child{border-radius:999px 0 0 999px}.fc-launcher .fc-seg button:last-child{border-radius:0 999px 999px 0}.fc-launcher-panels{gap:4px;display:flex}.fc-launcher-panels button{opacity:.8;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;display:flex}.fc-launcher-panels button small{font:700 11px var(--ui)}.fc-launcher-panels button.on{opacity:1;background:#ffd666;border-color:#2a2438d9}.fc-palette-title{font:900 11px var(--ui);letter-spacing:.12em;text-transform:uppercase;opacity:.6;margin:6px 2px 4px}.fc-palette-grid{grid-template-columns:1fr 1fr;gap:4px;display:grid}.fc-palette-grid button{cursor:grab;flex-direction:column;align-items:center;gap:1px;padding:5px 2px;display:flex}.fc-palette-grid button span{font-size:18px;line-height:1.1}.fc-palette-grid button small{font:700 10px var(--ui)}.fc-field{font:700 12px var(--ui);align-items:center;gap:8px;margin:5px 0;display:flex}.fc-field>span{opacity:.75;flex:none;width:76px}.fc-field input[type=text],.fc-field input[type=number],.fc-field select{min-width:0;font:600 12px var(--ui);color:var(--ink);background:#ffffffbf;border:2px solid #2a24384d;border-radius:7px;flex:1;padding:4px 6px}.fc-field input[type=color]{background:0 0;border:2px solid #2a243866;border-radius:7px;width:44px;height:26px;padding:0}.fc-field input[type=checkbox]{accent-color:#3d8fe0;width:18px;height:18px;margin:0}.fc-slider{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.fc-slider input{accent-color:#3d8fe0;flex:1;min-width:0}.fc-slider output{text-align:right;width:36px;font:600 11px var(--mono);opacity:.75}.fc-swatches{flex-wrap:wrap;flex:1;align-items:center;gap:4px;display:flex}.fc-swatches button{border:2px solid #2a243859;border-radius:50%;width:20px;height:20px;padding:0}.fc-swatches button.on{border-color:#2a2438f2;box-shadow:inset 0 0 0 2px #fff}.fc-swatches input[type=color]{background:0 0;border:2px solid #2a243866;border-radius:6px;width:26px;height:22px;padding:0}.fc-note{opacity:.75;font:600 11px/1.35 var(--ui);margin-bottom:6px;display:block}.fc-fx{flex-wrap:wrap;gap:3px;display:flex}.fc-fx button{padding:3px 6px;font-size:11px}.fc-fx button.on{background:#ffd666;border-color:#2a2438d9}.fc-danger:hover:not(:disabled){background:#ffd9d6}.fc-card-backdrop{z-index:20;-webkit-backdrop-filter:blur(3px);background:#140e2859;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.fc-card-backdrop.on{display:flex}.fc-card{max-width:min(760px,92vw);max-height:86vh;color:var(--ink);background:#fbf8f1;border:2px solid #2a2438d9;border-radius:14px;padding:18px 22px 14px;font:16px/1.55 Georgia,Iowan Old Style,serif;overflow-y:auto;box-shadow:0 8px #2a243859,0 24px 60px #140a2859}.fc-card img{border-radius:6px;max-width:100%;max-height:58vh;margin:0 auto 12px;display:block;box-shadow:0 2px 12px #0003}.fc-card h2{font:900 24px var(--ui);margin:4px 0 8px}.fc-card-body h3,.fc-card-body h4,.fc-card-body h5{font-family:var(--ui);margin:14px 0 4px}.fc-card-body p{margin:6px 0}.fc-card-body blockquote{border-left:3px solid #d4a73a;margin:8px 0;padding-left:12px;font-style:italic}.fc-card-body code{font:13px var(--mono);background:#efe7d6;border-radius:4px;padding:1px 4px}.fc-card-body a{color:#2f6db3}.fc-card-empty{opacity:.55;font-style:italic}.fc-card .fc-row{margin-top:14px}.hud-interact{font:800 16px var(--ui);color:#fff;background:#2a2438b8;border-radius:999px;padding:6px 14px;display:none;position:absolute;bottom:22%;left:50%;transform:translate(-50%)}.hud-interact.on{display:block}.fc-body-text{width:100%;font:13px/1.4 var(--ui);resize:vertical;min-height:90px;margin:4px 0}.fc-tour{z-index:6;color:#fff;font:800 14px var(--ui);background:#2a2438b8;border-radius:999px;align-items:center;gap:6px;padding:5px 6px;display:flex;position:fixed;bottom:58px;left:50%;transform:translate(-50%)}.fc-tour button{border-radius:999px;padding:4px 11px;font-weight:800}.fc-tour-label{white-space:nowrap;text-overflow:ellipsis;max-width:42vw;padding:0 6px;overflow:hidden}.fc-tour-label b{color:#ffe066}.fc-tour-panel small{opacity:.7;font:600 11px/1.35 var(--ui);margin-bottom:6px;display:block}.fc-tour-list{max-height:44vh;margin:0;padding:0;list-style:none;overflow-y:auto}.fc-tour-list li{cursor:grab;font:700 12px var(--ui);background:#ffffff8c;border:2px solid #0000;border-radius:7px;align-items:center;gap:6px;margin:2px 0;padding:3px 4px;display:flex}.fc-tour-list li b{text-align:right;color:#b8860b;width:18px}.fc-tour-list li button{padding:1px 6px;font-size:11px}.fc-tour-title{white-space:nowrap;text-overflow:ellipsis;cursor:pointer;flex:1;min-width:0;overflow:hidden}.fc-tour-title:hover{text-decoration:underline}.fc-tour-list li.fc-drag{opacity:.4}.fc-tour-list li.fc-drop{border-color:#3d8fe0}.fc-saves-new input{flex:1;min-width:0}.fc-saves input[type=text]{font:600 12px var(--ui);color:var(--ink);background:#fffc;border:2px solid #2a243859;border-radius:7px;outline:none;padding:4px 7px}.fc-saves input[type=text]:focus{border-color:#3d8fe0}.fc-saves-status{margin-top:-2px}.fc-saves-list{max-height:50vh;margin:0;padding:0;list-style:none;overflow-y:auto}.fc-saves-list li{font:700 12px var(--ui);background:#ffffff8c;border-radius:8px;align-items:center;gap:6px;margin:3px 0;padding:4px;display:flex}.fc-saves-list li button{padding:2px 7px;font-size:12px}.fc-saves-thumb{background:#2a243826 50%/cover no-repeat;border:2px solid #2a243840;border-radius:5px;flex:none;width:64px;height:40px}.fc-saves-text{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.fc-saves-text b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.fc-saves-text small{opacity:.65;font:600 10px var(--ui)}.fc-saves-text input{box-sizing:border-box;width:100%}.fc-saves-reset{border-top:2px solid #2a24381f;padding-top:8px}
