:root{--tim-update-bar:44px}.tim-update-notice{z-index:50;min-height:calc(var(--tim-update-bar) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;border:0;border-bottom:2px solid var(--tim-ui-accent,#d8433a);background:var(--tim-ui-navy,#2c3350);color:#fff;font:inherit;cursor:pointer;position:fixed;top:0;left:0;right:0}.tim-has-update{--tim-top-bar:calc(var(--tim-update-bar) + env(safe-area-inset-top,0px))}.tim-has-update #app{padding-top:calc(var(--tim-update-bar) + env(safe-area-inset-top,0px))}*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--tim-letterbox,#1a1a22);color:var(--tim-ui-text-inverse,#f0ede2);-webkit-font-smoothing:antialiased;font-family:Avenir Next,Segoe UI,system-ui,sans-serif}#app{height:100%;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);overflow-x:hidden}@supports (height:100dvh){#app{height:100dvh}}canvas{display:block}.tim-visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}button{font-family:inherit}.tim-screen{flex-direction:column;min-height:100%;display:flex}.tim-btn{background:var(--tim-ui-panel);color:var(--tim-ui-text);border:2px solid;border-color:var(--tim-steel-highlight) var(--tim-steel-shadow) var(--tim-steel-shadow) var(--tim-steel-highlight);cursor:pointer;padding:10px 20px;font-size:14px}.tim-btn:hover{filter:brightness(1.06)}.tim-btn:active{border-color:var(--tim-steel-shadow) var(--tim-steel-highlight) var(--tim-steel-highlight) var(--tim-steel-shadow);transform:translate(1px,1px)}.tim-btn--primary{background:var(--tim-ui-accent)}.tim-btn--fixed{text-align:center;min-width:92px}.tim-title{background:var(--tim-ui-navy-dark);text-align:center;flex:1;justify-content:center;align-items:center;gap:16px;padding:16px;overflow:hidden}.tim-title__machine{aspect-ratio:640/408;max-width:100%;height:min(calc((100vh - var(--tim-top-bar,0px)) * .6), calc((100vw - 32px) * 408 / 640), 640px);image-rendering:pixelated;display:block}@supports (height:100dvh){.tim-title__machine{height:min(calc((100dvh - var(--tim-top-bar,0px)) * .6), calc((100vw - 32px) * 408 / 640), 640px)}}.tim-title__content{padding-bottom:env(safe-area-inset-bottom,0px);flex-direction:column;align-items:center;gap:12px;display:flex}.tim-title__wordmark{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.tim-title__subtitle{opacity:.8;margin:0;font-size:16px}.tim-title__credit{opacity:.7;font-size:13px}.tim-title__credit a{color:inherit}.tim-title__actions{gap:16px;margin-top:4px;display:flex}.tim-dialog-overlay{z-index:10;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tim-dialog{background:var(--tim-ui-panel);max-width:min(480px,100% - 24px);max-height:calc(100% - 24px);color:var(--tim-ui-text);border:2px solid;border-color:var(--tim-steel-highlight) var(--tim-steel-shadow) var(--tim-steel-shadow) var(--tim-steel-highlight);flex-direction:column;gap:12px;padding:20px;display:flex;overflow-y:auto}.tim-dialog a{color:var(--tim-ui-navy)}.tim-toolbar{background:var(--tim-ui-navy);flex-shrink:0;align-items:center;gap:16px;height:52px;padding:0 16px;display:flex}.tim-toolbar__title{margin:0;font-size:16px}.tim-level-select{background:var(--tim-letterbox)}.tim-level-select__body{flex-direction:column;flex:1;gap:24px;padding:24px;display:flex;overflow-y:auto}.tim-level-select__counts{letter-spacing:.05em;color:var(--tim-ui-panel-edge);margin-left:auto;font-size:12px}.tim-tier__name{margin:0 0 12px;font-size:16px}.tim-tier__grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.tim-level-card{background:var(--tim-ui-panel);color:var(--tim-ui-text);border:2px solid;border-color:var(--tim-steel-highlight) var(--tim-steel-shadow) var(--tim-steel-shadow) var(--tim-steel-highlight);text-align:left;cursor:pointer;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:12px;display:grid;position:relative}.tim-level-card__num{font-variant-numeric:tabular-nums;color:var(--tim-ui-navy);font-size:13px;font-weight:700}.tim-level-card__title{min-width:0}.tim-level-card--locked{background:var(--tim-ui-locked);cursor:not-allowed;opacity:.7}.tim-level-card--unbuilt{border:2px dashed var(--tim-ui-locked);color:var(--tim-ui-panel-edge);cursor:default;background-color:#0000;background-image:repeating-linear-gradient(-45deg,#8e8a7c38 0 4px,#0000 4px 10px)}.tim-level-card--unbuilt .tim-level-card__num,.tim-level-card--unbuilt .tim-level-card__title{color:var(--tim-ui-panel-edge);font-style:italic}.tim-level-card__unbuilt{letter-spacing:.12em;color:var(--tim-ui-panel-edge);grid-column:1/-1;font-size:10px;font-style:normal;font-weight:700}.tim-level-card--draft{background-color:var(--tim-ui-panel);border:2px dotted var(--tim-ui-accent);cursor:pointer;background-image:repeating-linear-gradient(0deg,#c8a23247 0 3px,#0000 3px 9px)}.tim-level-card__draft{letter-spacing:.12em;color:var(--tim-ui-text);grid-column:1/-1;font-size:10px;font-weight:700}.tim-level-card__draft-why{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--tim-ui-text);grid-column:1/-1;font-size:11px;font-style:italic;overflow:hidden}.tim-draft-notice{text-align:left;background-color:var(--tim-ui-panel);border:2px dotted var(--tim-ui-accent);max-width:560px;color:var(--tim-ui-text);background-image:repeating-linear-gradient(0deg,#c8a23247 0 3px,#0000 3px 9px);background-repeat:no-repeat;background-size:10px 100%;padding:12px 16px 12px 26px}.tim-draft-notice__badge{letter-spacing:.12em;margin:0 0 6px;font-size:12px;font-weight:700}.tim-draft-notice__consequence{margin:0;font-size:14px}.tim-draft-notice__reason{margin:8px 0 0;font-size:14px;font-style:italic}.tim-draft-chip{letter-spacing:.12em;color:var(--tim-ui-accent);border:2px dotted var(--tim-ui-accent);cursor:help;flex-shrink:0;padding:3px 8px;font-size:11px;font-weight:700}.tim-level-card--solved{border-color:var(--tim-ui-solved)}.tim-level-card__check{color:var(--tim-ui-solved)}.tim-level-card__lock{font-size:12px}.tim-canvas-screen{background:var(--tim-letterbox)}.tim-canvas-frame{flex:1;min-width:0;min-height:0;position:relative}.tim-canvas{width:100%;height:100%;image-rendering:pixelated;touch-action:none;position:absolute;inset:0}.tim-puzzle-screen{height:100%}.tim-puzzle-screen .tim-toolbar{flex-wrap:wrap;gap:10px;height:auto;min-height:52px;padding:8px 16px}.tim-toolbar__title{white-space:nowrap;margin:0;font-size:15px}.tim-toolbar__goal{opacity:.85;flex:auto;min-width:120px;font-size:13px}.tim-btn--active{background:var(--tim-ui-accent)}.tim-btn:disabled{cursor:not-allowed;opacity:.5}.tim-puzzle-body{flex:1;min-height:0;display:flex;position:relative}.tim-puzzle-side{flex-direction:column;flex-shrink:0;width:144px;min-height:0;display:flex}.tim-puzzle-tray{touch-action:none;background:var(--tim-ui-panel);border-left:2px solid var(--tim-ui-panel-edge);flex-direction:column;flex:auto;gap:8px;min-height:0;padding:8px;display:flex;overflow-y:auto}.tim-tray-slot{background:var(--tim-ui-panel);color:var(--tim-ui-text);border:2px solid;border-color:var(--tim-steel-highlight) var(--tim-steel-shadow) var(--tim-steel-shadow) var(--tim-steel-highlight);cursor:grab;touch-action:none;align-items:center;gap:8px;padding:4px 6px;display:flex}.tim-tray-slot--disabled{cursor:not-allowed;opacity:.5}.tim-tray-slot__icon{width:32px;height:32px;image-rendering:pixelated;flex-shrink:0}.tim-tray-slot__count{font-variant-numeric:tabular-nums;font-size:13px}.tim-puzzle-hint{background:var(--tim-ui-panel);max-width:min(70%,480px);color:var(--tim-ui-text);border:2px solid;border-color:var(--tim-steel-highlight) var(--tim-steel-shadow) var(--tim-steel-shadow) var(--tim-steel-highlight);z-index:5;pointer-events:none;margin:0;padding:8px 16px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 2px 8px #00000059}.tim-connect-hint{text-align:center;max-width:min(80%,560px);color:var(--tim-ui-text-inverse,#f0ede2);border:1px solid var(--tim-ui-accent);z-index:5;pointer-events:none;background:#181a26e0;margin:0;padding:5px 12px;font-size:12px;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}.tim-win-dialog{text-align:center;align-items:center}.tim-win-dialog__bonus,.tim-win-dialog__actions{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.tim-dial{background:var(--tim-ui-navy-dark);border:2px solid;border-color:var(--tim-steel-shadow) var(--tim-steel-highlight) var(--tim-steel-highlight) var(--tim-steel-shadow);align-items:center;gap:4px;padding:4px 8px;display:flex}.tim-dial__label{opacity:.75;margin-right:4px;font-size:11px}.tim-dial__stop{color:var(--tim-ui-text-inverse,#f0ede2);cursor:pointer;opacity:.5;background:0 0;border:1px solid #0000;padding:4px 6px;font-size:16px;line-height:1}.tim-dial__stop:disabled{cursor:default}.tim-dial__stop--active{opacity:1;border-color:var(--tim-ui-accent);background:#c8a2322e}.tim-toolbar__env{gap:8px;display:flex}.tim-briefing{background:var(--tim-letterbox)}.tim-briefing__body{text-align:center;flex-direction:column;flex:1;align-items:center;gap:20px;padding:24px;display:flex;overflow-y:auto}.tim-briefing__goal{max-width:520px;font-size:16px}.tim-briefing__env{flex-wrap:wrap;justify-content:center;gap:16px;display:flex}.tim-briefing__preview{image-rendering:pixelated;border:2px solid;border-color:var(--tim-steel-shadow) var(--tim-steel-highlight) var(--tim-steel-highlight) var(--tim-steel-shadow)}.tim-briefing__play{padding:14px 36px;font-size:20px}.tim-briefing__play--draft{border:2px dotted var(--tim-ui-accent)}.tim-score-strip{background:var(--tim-ui-navy-dark);border-top:2px solid var(--tim-ui-panel-edge);flex-shrink:0;justify-content:center;gap:24px;padding:8px 16px;display:flex}.tim-score-strip__unit{align-items:center;gap:8px;display:flex}.tim-score-strip__label{letter-spacing:1px;opacity:.8;color:var(--tim-ui-text-inverse,#f0ede2);font-size:12px}.tim-odometer__reel{border:2px solid;border-color:var(--tim-steel-shadow) var(--tim-steel-highlight) var(--tim-steel-highlight) var(--tim-steel-shadow);background:#111;padding:2px;display:flex}.tim-odometer__digit{width:14px;height:20px;display:block;position:relative;overflow:hidden}.tim-odometer__strip{transition:transform .2s ease-out;display:block}.tim-odometer__glyph{font-variant-numeric:tabular-nums;color:#f0d060;justify-content:center;align-items:center;width:14px;height:20px;font-size:15px;display:flex}.tim-toolbar__levelnav{align-items:center;gap:.25rem;display:inline-flex}.tim-toolbar__levelnav .tim-btn{min-width:2rem;padding-inline:.5rem}.tim-toolbar__levelnav .tim-btn[disabled]{opacity:.4;cursor:default}.tim-toolbar__levelnav-pos{font-variant-numeric:tabular-nums;opacity:.7;text-align:center;min-width:3.5rem;font-size:.8rem}.tim-actionbar{background:var(--tim-ui-panel);border-left:2px solid var(--tim-ui-panel-edge);flex-direction:column;gap:6px;padding:8px;display:flex}.tim-actionbar[hidden]{display:none}.tim-actionbar__btn{touch-action:none;min-width:44px;min-height:44px;padding:6px 12px}.tim-actionbar__btn:disabled{opacity:.35}@media (pointer:coarse){.tim-toolbar__levelnav .tim-btn{min-width:44px;min-height:44px}.tim-tray-slot,.tim-dialog .tim-btn{min-height:44px}}@media (max-width:820px) and (orientation:portrait){.tim-level-select__body{gap:16px;padding:12px}.tim-tier__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tim-title__actions{flex-wrap:wrap;justify-content:center}.tim-puzzle-screen .tim-toolbar{gap:6px;padding:6px 8px}.tim-toolbar .tim-btn{white-space:nowrap;flex-shrink:0;padding:8px;font-size:13px}.tim-level-select__counts{flex:100%;order:12;margin:0}.tim-toolbar:has(.tim-level-select__counts){flex-wrap:wrap;height:auto;min-height:52px;padding:6px 8px}.tim-btn--fixed{min-width:0}.tim-toolbar__levelnav-pos{min-width:0;font-size:11px}.tim-score-strip{gap:12px;padding:6px 8px}.tim-score-strip__unit{flex-direction:column;gap:2px}.tim-score-strip__label{white-space:nowrap;font-size:10px}.tim-odometer__digit,.tim-odometer__glyph{width:12px;height:18px;font-size:14px}.tim-puzzle-screen .tim-toolbar__title{text-overflow:ellipsis;flex:100%;order:10;min-width:0;overflow:hidden}.tim-puzzle-screen .tim-toolbar__goal{flex:100%;order:11;min-width:0;font-size:12px}.tim-puzzle-hint{max-width:92%}}@media (orientation:portrait){.tim-puzzle-side{background:var(--tim-ui-panel)}.tim-puzzle-body{flex-direction:column}.tim-canvas-frame{aspect-ratio:576/368;flex:none;width:100%}.tim-puzzle-side{flex-direction:column;flex:auto;width:100%}.tim-puzzle-tray{border-left:0;border-top:2px solid var(--tim-ui-panel-edge);flex-direction:row;flex:none;overflow:auto hidden}.tim-tray-slot{flex-shrink:0;min-height:48px}.tim-actionbar{border-left:0;flex-flow:wrap;flex:auto;align-content:flex-start}.tim-actionbar[hidden]{visibility:hidden;display:flex}}@media (max-width:380px) and (orientation:portrait){.tim-toolbar__levelnav-pos{display:none}}@media (max-height:500px) and (orientation:landscape){.tim-level-select__body{gap:16px;padding:12px}.tim-tier__grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tim-title{gap:8px;padding:8px 16px}.tim-title__content{gap:6px}.tim-puzzle-screen .tim-toolbar{flex-wrap:nowrap;gap:6px;min-height:0;padding:4px 8px}.tim-toolbar .tim-btn{flex-shrink:0}.tim-toolbar__levelnav-pos{display:none}.tim-toolbar .tim-btn{padding:6px 10px;font-size:13px}.tim-btn--fixed{min-width:0}.tim-toolbar__title{white-space:normal;max-width:22%;font-size:13px}.tim-toolbar__goal{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1 1 0;min-width:0;font-size:11px;display:-webkit-box;overflow:hidden}.tim-score-strip{padding:2px 8px}.tim-puzzle-side{flex-direction:row;width:auto}.tim-puzzle-tray{flex:none;gap:4px;width:64px;padding:4px}.tim-tray-slot{flex-direction:column;gap:0;min-height:48px;padding:2px}.tim-actionbar{gap:3px;width:76px;padding:4px;overflow-y:auto}.tim-actionbar[hidden]{visibility:hidden;display:flex}.tim-actionbar__btn{min-height:36px;padding:2px;font-size:11px}.tim-puzzle-hint{top:6px}}
