@font-face{font-display:swap;font-family:Cubic\ 11;src:url(../fonts/cubic-11-subset.woff2) format("woff2")}.island-root{--font-display:"Cubic 11","Noto Sans TC",ui-monospace,monospace;--font-body:"Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif;--gui-bg:#e8e0d9;--gui-hi:#fbf7f2;--gui-lo:#a88b72;--gui-ink:#3d2a23;--gui-muted:#6e5646;--gui-slot:#cbbcad;--gui-slot-lo:#8f725a;--gui-slot-hi:#f3ece4;--btn:#8f725a;--btn-hover:#a5856a;--btn-ink:#fffaf3;--accent:#a5281b;--splash:#ff5;--splash-shadow:#3f3f15;--tag-bg:rgba(24,16,12,.66);--tag-ink:#fffaf3;--hud-bg:rgba(24,16,12,.58);--hud-frame:#1c1410;--tip-bg:#1d120d;--tip-border:#7a2a1a;--tip-ink:#f6eee6;--sky-top:#6f9ff5;--sky-mid:#b6d1fb;--sky-low:#e3eefc;--sky-n-top:#03050f;--sky-n-mid:#111938;--sky-n-low:#1f2a52;--page-bg:#e3eefc;background:var(--page-bg);color:var(--gui-ink);font-family:var(--font-body);min-height:100vh;min-height:100dvh;position:relative;-webkit-font-smoothing:antialiased}.dark .island-root{--gui-bg:#2b231f;--gui-hi:#4b3e36;--gui-lo:#120e0b;--gui-ink:#f2e8de;--gui-muted:#bba996;--gui-slot:#1f1916;--gui-slot-lo:#0b0907;--gui-slot-hi:#3d322b;--btn:#5c4a3d;--btn-hover:#735d4d;--btn-ink:#fff6ea;--accent:#ff7a5c;--page-bg:#111938;color-scheme:dark}.island-root:not(.flat){height:100vh;height:100dvh;overflow:hidden}:where(.island-root button){color:inherit;font:inherit}.island-root :focus-visible{outline:3px solid var(--splash);outline-offset:2px}.island-root .sr-only{height:1px;overflow:hidden;position:absolute;width:1px;clip:rect(0 0 0 0);white-space:nowrap}.island-stage{top:0;right:0;bottom:0;left:0;overflow:hidden;position:fixed}.island-sky{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.island-sky.day{background:linear-gradient(to bottom,var(--sky-top) 0,var(--sky-mid) 58%,var(--sky-low) 100%)}.island-sky.night{background:linear-gradient(to bottom,var(--sky-n-top) 0,var(--sky-n-mid) 58%,var(--sky-n-low) 100%);opacity:0}.dark .island-sky.night{opacity:1}.island-canvas{cursor:grab;display:block;height:100%;top:0;right:0;bottom:0;left:0;position:absolute;touch-action:none;width:100%}.island-canvas.hovering{cursor:pointer}.island-canvas.dragging{cursor:grabbing}.island-overlay,.island-veil{top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.island-veil{background:#0b0806;transition:opacity .9s ease}.island-skip{color:#fffaf3;font-family:var(--font-display);font-size:14px;left:50%;opacity:.8;pointer-events:none;position:absolute;text-shadow:2px 2px 0 rgba(0,0,0,.5);top:calc(env(safe-area-inset-top,0px) + 76px);transform:translate(-50%);transition:opacity .4s;white-space:nowrap}.island-root.ready .island-skip{opacity:0}.mc-btn{align-items:center;background:var(--btn);border:2px solid var(--hud-frame);box-shadow:inset 2px 2px #ffffff47,inset -2px -3px #00000052;color:var(--btn-ink);cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:16px;gap:8px;justify-content:center;min-height:44px;padding:0 18px;text-decoration:none;text-shadow:2px 2px 0 rgba(0,0,0,.35);white-space:nowrap}.mc-btn:hover{background:var(--btn-hover)}.mc-btn:active{box-shadow:inset -2px -2px #fff3,inset 2px 3px #00000059}.mc-btn:disabled{cursor:default;opacity:.6}.mc-btn.small{font-size:14px;min-height:36px;padding:0 12px}.mc-btn.square{padding:0;width:44px}.island-root.creative .home-hud{display:none}.island-root.fly .island-crosshair{opacity:.85}.island-root.fly .island-splash{visibility:hidden}.island-aim{font-size:13px;padding:3px 8px;position:absolute;text-shadow:1px 1px 0 rgba(0,0,0,.4);top:calc(50% + 18px);transform:translate(-50%);white-space:nowrap}.build-paused,.island-aim{background:var(--tag-bg);color:var(--tag-ink);font-family:var(--font-display);left:50%;pointer-events:none}.build-paused{align-items:center;display:flex;flex-direction:column;gap:6px;padding:12px 18px;position:fixed;text-align:center;text-shadow:2px 2px 0 rgba(0,0,0,.4);top:50%;transform:translate(-50%,calc(-100% - 24px));z-index:55}.build-paused strong{font-size:18px;font-weight:400}.build-paused small{font-size:13px;opacity:.8}.build-hud .build-count{font-size:12px;opacity:.85}.build-hud .build-count.full{color:#ff8a7a;opacity:1}.build-tools{bottom:calc(env(safe-area-inset-bottom,0px) + 92px);display:flex;gap:6px;left:50%;position:fixed;transform:translate(-50%);z-index:60}.build-tools [aria-pressed=true]{background:#a8382c}.island-hotbar.blocks .slot-btn[aria-pressed=true]{box-shadow:0 0 0 3px #fffaf3,inset 0 0 0 3px #000;z-index:1}.px-icon{height:20px;width:20px;fill:currentColor;shape-rendering:crispEdges;filter:drop-shadow(2px 2px 0 rgba(0,0,0,.35))}.hud-top{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;left:max(16px,calc(env(safe-area-inset-left,0px) + 12px));pointer-events:none;position:fixed;right:max(16px,calc(env(safe-area-inset-right,0px) + 12px));top:calc(env(safe-area-inset-top,0px) + 12px);z-index:50}.hud-top>*{pointer-events:auto}.brand{align-items:center;background:var(--tag-bg);color:var(--tag-ink);display:inline-flex;font-family:var(--font-display);font-size:16px;gap:10px;min-height:44px;padding:0 14px;text-decoration:none;text-shadow:2px 2px 0 rgba(0,0,0,.4)}.hud-actions{display:flex;gap:8px}.island-tag{align-items:center;background:var(--tag-bg);border:0;color:var(--tag-ink);cursor:pointer;display:flex;flex-direction:column;font-family:var(--font-display);font-size:15px;gap:1px;left:0;line-height:1.2;padding:4px 10px 5px;pointer-events:auto;position:absolute;text-shadow:2px 2px 0 rgba(0,0,0,.4);top:0;transition:opacity .3s,background .15s;white-space:nowrap;will-change:transform}.island-tag small{font-size:11px;letter-spacing:.04em;opacity:.78}.island-tag.hot,.island-tag:hover{background:#18100ce0;outline:2px solid var(--splash);outline-offset:0}.island-tag.machine{font-size:13px;padding:3px 8px}.island-tag[hidden]{display:none!important}.island-bubble{background:var(--gui-bg);border:3px solid var(--hud-frame);box-shadow:inset 2px 2px 0 var(--gui-hi),inset -2px -2px 0 var(--gui-lo);color:var(--gui-ink);font-size:14px;left:0;line-height:1.55;max-width:min(260px,70vw);padding:8px 12px 9px;pointer-events:none;position:absolute;top:0;will-change:transform}.island-bubble b{color:var(--gui-muted);display:block;font-family:var(--font-display);font-size:12px;font-weight:400;letter-spacing:.04em}.island-bubble:after{background:var(--hud-frame);bottom:-11px;clip-path:polygon(0 0,100% 0,50% 100%);content:"";height:8px;left:50%;margin-left:-6px;position:absolute;width:12px}.island-bubble[hidden]{display:none!important}.island-splash{background:none;border:0;cursor:pointer;left:0;opacity:0;padding:0;pointer-events:auto;position:absolute;top:0;transition:opacity .4s}.island-root.ready.at-home .island-splash{opacity:1}.island-splash span{animation:island-splash .42s ease-in-out infinite alternate;color:var(--splash);display:block;font-family:var(--font-display);font-size:24px;text-shadow:2px 2px 0 var(--splash-shadow);white-space:nowrap}@keyframes island-splash{0%{transform:scale(1)}to{transform:scale(1.08)}}.island-crosshair{background:linear-gradient(#fff,#fff) 50% /2px 100% no-repeat,linear-gradient(#fff,#fff) 50% /100% 2px no-repeat;height:14px;left:50%;margin:-7px 0 0 -7px;mix-blend-mode:difference;opacity:0;pointer-events:none;position:absolute;top:50%;transition:opacity .3s;width:14px}.island-root.fp .island-crosshair{opacity:.85}.island-root.fp .island-splash,.island-root.fp .island-tags{visibility:hidden}.fp-hud{align-items:center;background:var(--tag-bg);color:var(--tag-ink);display:flex;font-family:var(--font-display);font-size:14px;gap:12px;left:50%;padding:6px 6px 6px 14px;position:fixed;text-shadow:2px 2px 0 rgba(0,0,0,.4);top:calc(env(safe-area-inset-top,0px) + 72px);transform:translate(-50%);white-space:nowrap;z-index:55}.fp-hud small{opacity:.78}.fp-cta{align-items:center;background:var(--tip-bg);border:2px solid var(--tip-border);color:var(--tip-ink);display:flex;gap:12px;margin:0 0 16px;padding:10px 12px}.fp-cta .mc-btn{flex:none}.fp-cta small{color:#c9b3a3;font-size:13px;line-height:1.5}.home-hud{align-items:center;bottom:calc(env(safe-area-inset-bottom,0px) + 96px);display:flex;flex-direction:column;gap:14px;left:50%;position:fixed;text-align:center;transform:translate(-50%);width:min(640px,calc(100% - 32px));z-index:20}.home-hud h1{margin:0}.home-hud .intro{background:var(--tag-bg);color:var(--tag-ink);font-size:16px;line-height:1.7;margin:0;padding:10px 16px;text-wrap:balance}.flat-hero .intro strong,.home-hud .intro strong{color:var(--splash);font-weight:700}.flat-hero .intro mark,.home-hud .intro mark{background:none;color:#ffd9a8;font-weight:500}.flat-hero .ctas,.home-hud .ctas{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.home-hud .hint{color:#fffaf3;font-family:var(--font-display);font-size:12px;margin:0;opacity:.8;text-shadow:1px 1px 0 rgba(0,0,0,.5)}.island-hotbar{background:var(--hud-bg);border:3px solid var(--hud-frame);bottom:calc(env(safe-area-inset-bottom,0px) + 14px);display:flex;left:50%;padding:3px;position:fixed;transform:translate(-50%);transition:left .45s cubic-bezier(.2,.8,.2,1);z-index:60}.slot-btn{background:#00000038;border:0;box-shadow:inset 2px 2px #00000059,inset -2px -2px #ffffff1f;cursor:pointer;display:grid;height:56px;padding:0;place-items:center;position:relative;width:56px}.slot-btn+.slot-btn{margin-left:3px}.slot-btn img{height:36px;image-rendering:pixelated;transition:transform .15s;width:36px}.slot-btn:hover img{transform:translateY(-2px)}.slot-btn .num{color:#fffaf3;font-family:var(--font-display);font-size:11px;left:4px;position:absolute;text-shadow:1px 1px 0 #000;top:2px}.slot-btn[aria-current=page]{box-shadow:0 0 0 3px #fffaf3,inset 0 0 0 3px #000;z-index:1}.island-toast{bottom:calc(env(safe-area-inset-bottom,0px) + 90px);color:#fffaf3;font-family:var(--font-display);font-size:16px;left:50%;opacity:0;pointer-events:none;position:fixed;text-shadow:2px 2px 0 rgba(0,0,0,.55);transform:translate(-50%);transition:opacity .35s,left .45s;white-space:nowrap;z-index:60}.island-toast.show{opacity:1}.gui{background:var(--gui-bg);border:3px solid var(--hud-frame);box-shadow:inset 3px 3px 0 var(--gui-hi),inset -3px -3px 0 var(--gui-lo);color:var(--gui-ink)}.island-panel{display:flex;flex-direction:column;position:fixed;transition:transform .45s cubic-bezier(.2,.8,.2,1),height .35s ease;z-index:40}.island-panel.closed{transition:transform .45s cubic-bezier(.2,.8,.2,1),visibility 0s linear .45s;visibility:hidden}.panel-head{align-items:center;border-bottom:3px solid var(--gui-lo);display:flex;gap:12px;padding:14px 14px 12px 18px}.panel-head img{flex:none;height:40px;image-rendering:pixelated;-o-object-fit:contain;object-fit:contain;width:40px}.panel-head .titles{flex:1;min-width:0}.panel-head h1{font-family:var(--font-display);font-size:24px;font-weight:400;line-height:1.2;margin:0;text-wrap:balance}.panel-head h1:focus{outline:none}.panel-head p{color:var(--gui-muted);font-family:var(--font-display);font-size:13px;letter-spacing:.04em;margin:2px 0 0}.panel-head .mc-btn{flex:none}.grip{display:none}.panel-body{flex:1;font-size:15px;line-height:1.75;overflow-y:auto;overscroll-behavior:contain;padding:16px 20px 28px}.panel-expand{display:none!important}@media (min-width:721px){.island-root:not(.flat) .island-panel{bottom:calc(env(safe-area-inset-bottom,0px) + 16px);right:max(16px,calc(env(safe-area-inset-right,0px) + 16px));top:calc(env(safe-area-inset-top,0px) + 72px);width:min(440px,42vw)}.island-root:not(.flat) .island-panel.closed{transform:translate(calc(100% + 48px))}.island-root.panel-open:not(.flat) .island-hotbar,.island-root.panel-open:not(.flat) .island-toast{left:calc(50% - (min(440px,42vw)/2) - 16px)}}@media (max-width:720px){.island-root:not(.flat) .island-panel{border-bottom:0;border-left:0;border-right:0;bottom:0;height:62%;left:0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 80px);right:0}.island-root:not(.flat) .island-panel.closed{transform:translateY(105%)}.island-root:not(.flat) .island-panel.expanded{height:calc(100% - env(safe-area-inset-top,0px) - 68px)}.island-root:not(.flat) .grip{align-self:center;background:var(--gui-lo);border:0;cursor:pointer;display:block;height:6px;margin:8px 0 0;padding:0;width:56px}.panel-head{padding:8px max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px))}.panel-head h1{font-size:20px}.panel-body{padding:14px max(16px,env(safe-area-inset-right,0px)) 20px max(16px,env(safe-area-inset-left,0px))}.island-root:not(.flat) .panel-expand{display:inline-flex!important}.slot-btn{height:50px;width:50px}.slot-btn img{height:32px;width:32px}.home-hud{bottom:calc(env(safe-area-inset-bottom,0px) + 86px)}.home-hud .intro{font-size:14px}.home-hud .hint{display:none}.island-splash span{font-size:16px}.brand .label{display:none}.brand{font-size:14px;padding:0 10px;white-space:nowrap}.hud-actions{gap:6px}.hud-actions .mc-btn.small{padding:0 8px}.hud-actions .mc-btn.square{width:36px}.hud-top{gap:8px}.fp-hud small{display:none}.fp-hud{top:calc(env(safe-area-inset-top,0px) + 64px)}.island-hotbar.blocks .slot-btn{height:36px;width:36px}.island-hotbar.blocks .slot-btn img{height:26px;width:26px}.island-hotbar.blocks .slot-btn .num{display:none}.build-tools{bottom:calc(env(safe-area-inset-bottom,0px) + 66px)}}.panel-body .lead{color:var(--gui-muted);margin:0 0 14px}.panel-body .sec{align-items:baseline;border-bottom:2px dashed var(--gui-lo);display:flex;font-family:var(--font-display);font-size:16px;font-weight:400;gap:8px;letter-spacing:.04em;margin:22px 0 10px;padding-bottom:4px}.panel-body .sec small{color:var(--gui-muted);font-size:12px}.panel-body .sec:first-child{margin-top:0}.panel-body p{margin:0 0 12px}.panel-body .note{border:2px dashed var(--gui-lo);color:var(--gui-muted);font-size:13px;margin-top:16px;padding:8px 10px}.panel-body .note a{color:var(--accent)}.chips{display:flex;flex-wrap:wrap;gap:6px}.chip{background:var(--gui-slot);box-shadow:inset 2px 2px 0 var(--gui-slot-lo),inset -2px -2px 0 var(--gui-slot-hi);font-family:var(--font-display);font-size:13px;line-height:1;padding:6px 8px}.flag-list{display:flex;flex-direction:column;gap:8px}.flag{align-items:center;background:var(--gui-slot);border:0;box-shadow:inset 2px 2px 0 var(--gui-slot-lo),inset -2px -2px 0 var(--gui-slot-hi);color:inherit;cursor:pointer;display:flex;gap:12px;padding:8px 12px 8px 8px;text-align:left;text-decoration:none;width:100%}.flag:hover{background:var(--gui-slot-hi)}.flag img{background:var(--gui-bg);flex:none;height:44px;-o-object-fit:contain;object-fit:contain;padding:3px;width:44px}.flag .t{display:flex;flex:1;flex-direction:column;min-width:0}.flag b{font-family:var(--font-display);font-size:16px;font-weight:400}.flag small{font-size:13px;line-height:1.45}.flag .go,.flag small{color:var(--gui-muted)}.flag .go{font-family:var(--font-display);font-size:20px}.inv{display:grid;gap:4px;grid-template-columns:repeat(6,minmax(0,1fr))}.inv .slot{aspect-ratio:1;background:var(--gui-slot);border:0;box-shadow:inset 2px 2px 0 var(--gui-slot-lo),inset -2px -2px 0 var(--gui-slot-hi);cursor:pointer;display:grid;max-width:100%;padding:4px;place-items:center;position:relative}.inv .slot img{height:100%;-o-object-fit:contain;object-fit:contain;width:100%}.inv .slot:focus-visible,.inv .slot:hover{background:var(--gui-slot-hi)}.readout{background:var(--tip-bg);border:2px solid var(--tip-border);color:var(--tip-ink);font-size:14px;line-height:1.5;margin-top:8px;min-height:3.2em;padding:8px 10px}.readout b{font-family:var(--font-display);font-weight:400}.readout small{color:#c9b3a3;display:block}.back{margin-bottom:14px}.how{background:var(--gui-slot);box-shadow:inset 2px 2px 0 var(--gui-slot-lo),inset -2px -2px 0 var(--gui-slot-hi);padding:10px 12px}.how b{color:var(--gui-muted);display:block;font-family:var(--font-display);font-size:13px;font-weight:400;letter-spacing:.04em}.proj{margin-top:18px}.proj-head{align-items:center;display:flex;gap:12px;margin-bottom:10px}.proj-head img{background:var(--gui-slot);flex:none;height:48px;-o-object-fit:contain;object-fit:contain;padding:4px;width:48px}.proj-head h3{font-family:var(--font-display);font-size:18px;font-weight:400;line-height:1.3;margin:0;text-wrap:balance}.proj-head .meta{color:var(--gui-muted);font-size:13px;margin:0!important}.links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.books{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.books a{align-items:stretch;background:var(--gui-slot);box-shadow:inset 2px 2px 0 var(--gui-slot-lo),inset -2px -2px 0 var(--gui-slot-hi);color:inherit;display:flex;gap:12px;padding:8px 10px 8px 0;text-decoration:none}.books a:hover{background:var(--gui-slot-hi)}.spine{background:var(--c);box-shadow:inset -3px 0 #00000040;flex:none;margin-left:8px;width:10px}.books time{color:var(--gui-muted);display:block;font-family:var(--font-display);font-size:12px}.books b{font-size:14px;font-weight:500;line-height:1.5}.hello{align-items:center;display:flex;gap:14px;margin:0 0 12px}.hello img{border:3px solid var(--hud-frame);flex:none;height:64px;image-rendering:auto;-o-object-fit:cover;object-fit:cover;width:64px}.hello b{display:block;font-family:var(--font-display);font-size:20px;font-weight:400}.groups{display:flex;flex-direction:column;gap:12px}.groups h3{color:var(--gui-muted);font-size:13px;font-weight:500;margin:0 0 6px}.phil{margin:0}.phil dt{font-family:var(--font-display);font-size:15px;margin-top:10px}.phil dd{color:var(--gui-muted);font-size:14px;margin:2px 0 0}.langs{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.langs li{align-items:center;display:flex;justify-content:space-between}.lvl{background:var(--gui-slot);font-family:var(--font-display);font-size:12px;padding:3px 8px}.lvl.native{background:#5d9b3a;color:#fff}.form{gap:12px}.field,.form{display:flex;flex-direction:column}.field{gap:4px}.field label{color:var(--gui-muted);font-family:var(--font-display);font-size:13px}.field input,.field textarea{background:var(--gui-slot);border:0;border-radius:0;box-shadow:inset 2px 2px 0 var(--gui-slot-lo),inset -2px -2px 0 var(--gui-slot-hi);color:var(--gui-ink);font:inherit;font-size:15px;min-width:0;padding:9px 10px}.field textarea{min-height:110px;resize:vertical}.form-status{color:var(--accent);font-size:14px;margin:0!important;min-height:1.5em}.direct{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.direct li{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.direct code{font-size:15px;-webkit-user-select:all;-moz-user-select:all;user-select:all}.direct a,.direct code{font-family:var(--font-display)}.direct a{color:var(--accent)}.island-root.flat{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 110px)}.flat-hero{background:linear-gradient(to bottom,var(--sky-top),var(--sky-mid) 70%,var(--sky-low));overflow:hidden;padding:96px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px));text-align:center}.dark .flat-hero{background:linear-gradient(to bottom,var(--sky-n-top),var(--sky-n-mid) 70%,var(--sky-n-low))}.flat-title{color:#d4d4d4;display:inline-block;font-family:var(--font-display);font-size:clamp(56px,13vw,120px);font-weight:400;letter-spacing:.06em;line-height:1;margin:0;position:relative;text-shadow:0 4px 0 #9a9a9a,0 8px 0 #6a6a6a,0 12px 0 #3d2a23}.flat-title .fsplash{animation:island-splash .42s ease-in-out infinite alternate;bottom:-6px;color:var(--splash);font-size:clamp(14px,3vw,22px);letter-spacing:0;position:absolute;right:-8px;text-shadow:2px 2px 0 var(--splash-shadow);transform:rotate(-16deg);white-space:nowrap}.flat-hero .intro{background:var(--tag-bg);color:var(--tag-ink);line-height:1.7;margin:40px auto 18px;max-width:36em;padding:10px 16px}.flat-hero .ctas{padding-bottom:28px}.flat-ground{background:linear-gradient(180deg,#5f9e3b 0,#5f9e3b 12px,#4d8634 12px,#4d8634 16px,#866043 16px,#866043);box-shadow:inset 0 -8px #00000026;height:48px}.flat-main{margin:0 auto;max-width:860px;padding:88px max(16px,env(safe-area-inset-right,0px)) 0 max(16px,env(safe-area-inset-left,0px))}.at-home .flat-main{padding-top:24px}.island-root.flat .island-panel{position:static}.island-root.flat .panel-body{overflow:visible}@media (prefers-reduced-motion:reduce){.flat-title .fsplash,.island-splash span{animation:none}.island-hotbar,.island-panel{transition:none}}
