:root{color:#f2e9d6;background:#09140f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;min-height:0;margin:0;overflow:hidden;overscroll-behavior:none}body{position:fixed;inset:0}#app{position:absolute;top:var(--app-visible-top, 0px);height:var(--app-visible-height, 100%)}button{font:inherit}.app-shell{position:relative;width:100%;height:100%;min-height:0;overflow:hidden;background:radial-gradient(circle at 30% 20%,#173a24,#09140f 55%,#050907)}.game-surface{position:absolute;left:50%;top:50%;width:min(100vw,calc(100vh * 16 / 9));height:min(100vh,56.25vw);aspect-ratio:16 / 9;transform:translate(-50%,-50%);min-height:0;overflow:hidden}.game-canvas{display:block;width:100%;height:100%;min-height:0;touch-action:none}.game-canvas:focus-visible{outline:3px solid #ffd22e;outline-offset:-3px}.score-hud,.prototype-status,.prototype-actions{position:absolute;z-index:2}.pause-card,.completion-card,.settings-card{position:absolute;z-index:4;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(242,233,214,.45);background:#07120df0;color:#f2e9d6;box-shadow:0 1rem 3rem #0000005c;backdrop-filter:blur(.8rem)}.game-modal-scrim{position:absolute;z-index:4;inset:0;background:#020a076b;pointer-events:auto}.game-modal-scrim :is(.pause-card,.completion-card,.settings-card){z-index:1}.pause-card{width:min(22rem,calc(100% - 2rem));max-height:calc(100% - 2rem);overflow-y:auto;border-radius:1rem;padding:1.15rem;text-align:center}.pause-eyebrow{margin:0;color:#ffd22e;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.pause-card h2{margin:.3rem 0 1rem;font-size:1.65rem}.pause-actions{display:grid;gap:.75rem}.error-card{position:absolute;z-index:5;left:50%;top:50%;width:min(24rem,calc(100% - 2rem));transform:translate(-50%,-50%);border:1px solid #ff8f72;border-radius:1rem;padding:1rem;background:#200c08f5;color:#fff8e6;text-align:center}.app-shell.builder-active{min-height:0}.error-card p{color:#ffd4c8}.error-card button{min-height:2.6rem;border:1px solid rgba(242,233,214,.45);border-radius:.65rem;padding:.55rem .8rem;background:#10251a;color:#f2e9d6;cursor:pointer;font-weight:800}.error-card button:focus-visible{outline:3px solid #ffd22e;outline-offset:3px}.completion-card{width:min(24rem,calc(100% - 2rem));border-radius:1.2rem;padding:1.4rem;text-align:center}.completion-eyebrow{margin:0 0 .3rem;color:#ffd22e;font-size:.75rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.completion-card h2{margin:0;color:#fff8e6;font-size:clamp(2rem,6vw,3.5rem);line-height:1}.completion-score{margin:.9rem 0 0;color:#cbd8cc;font-variant-numeric:tabular-nums}.completion-score strong{color:#fff8e6;font-size:1.25rem}.completion-detail{margin:.35rem 0 0;color:#f6b1e4;font-size:.8rem}.completion-actions{display:grid;margin-top:1.1rem}.completion-actions button{min-height:2.8rem;border:1px solid rgba(242,233,214,.45);border-radius:.7rem;background:#10251a;color:#f2e9d6;cursor:pointer;font-weight:800}.completion-actions .completion-primary{border-color:#ffd22e;background:#ffd22e;color:#102014}.completion-actions button:focus-visible{outline:3px solid #fff8e6;outline-offset:3px}.settings-card{width:min(22rem,calc(100% - 2rem));max-height:calc(100% - 1rem);overflow-y:auto;border-radius:1rem;padding:1rem}.settings-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem;font-size:1.15rem}.settings-heading button{border:0;background:transparent;color:#f2e9d6;cursor:pointer;font-size:1.6rem}.settings-card label{display:grid;gap:.55rem;margin-top:1rem;font-weight:700}.settings-card input{width:100%;accent-color:#ffd22e}.settings-card select{min-height:2.5rem;border:1px solid rgba(242,233,214,.3);border-radius:.55rem;padding:.45rem;background:#10251a;color:#f2e9d6}.settings-reset{width:100%;min-height:2.6rem;margin-top:1rem;border:1px solid rgba(242,233,214,.45);border-radius:.65rem;padding:.55rem .8rem;background:#10251a;color:#f2e9d6;cursor:pointer;font-weight:800}.settings-card :is(button,input,select):focus-visible{outline:3px solid #ffd22e;outline-offset:3px}.settings-card p{margin:.8rem 0 0;color:#cbd8cc;font-size:.8rem;line-height:1.5}.accessibility-settings{display:grid;gap:.65rem;margin-top:1rem;border:1px solid rgba(242,233,214,.18);border-radius:.7rem;padding:.75rem}.accessibility-settings legend{padding:0 .35rem;color:#ffd22e;font-weight:800}.settings-card .settings-toggle{display:flex;align-items:center;gap:.65rem;margin:0;font-size:.86rem}.settings-card .settings-toggle input{width:1.1rem;height:1.1rem;flex:none}.status-paused{background:#ffd22e}.score-hud,.prototype-status{border:1px solid rgba(242,233,214,.4);border-radius:999px;background:#081912db;color:#f2e9d6;backdrop-filter:blur(.5rem)}.score-hud{left:max(1rem,env(safe-area-inset-left));top:max(1rem,env(safe-area-inset-top));display:flex;gap:.85rem;padding:.62rem .85rem;font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums;text-transform:uppercase;letter-spacing:.04em}.prototype-status{left:50%;bottom:1.15rem;transform:translate(-50%);display:flex;align-items:center;gap:.55rem;width:max-content;max-width:calc(100% - 2rem);padding:.68rem .95rem;font-size:.84rem;font-weight:700}.status-dot{width:.58rem;height:.58rem;flex:none;border-radius:50%;background:#ffd22e}.status-ready{background:#65ef70}.status-moving{background:#56b9ff}.status-complete{background:#ff6bda}.status-error{background:#ff6b4a}.prototype-actions{right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top));display:flex;gap:.45rem}.prototype-actions button{min-height:2.6rem;border:1px solid rgba(242,233,214,.45);border-radius:999px;padding:.62rem 1rem;background:#081912e0;color:#f2e9d6;cursor:pointer;font-weight:700}.prototype-actions button:hover{border-color:#ffd22e}.prototype-actions button:focus-visible{outline:3px solid #ffd22e;outline-offset:3px}.action-label-mobile{display:none}.foundation-panel{position:absolute;z-index:5;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));width:min(23rem,calc(100% - 2rem));max-height:calc(100% - 2rem);pointer-events:none}.debug-overlay{pointer-events:auto;border:1px solid rgba(242,233,214,.34);border-radius:.8rem;background:#07120df0;color:#f2e9d6;box-shadow:0 1rem 3rem #00000061;backdrop-filter:blur(.8rem);overflow:hidden}.debug-overlay>summary{cursor:pointer;padding:.75rem 1rem;color:#ffd22e;font-weight:900;list-style-position:inside;user-select:none}.debug-overlay>summary:focus-visible{outline:3px solid #ffd22e;outline-offset:-3px}.debug-scroll{max-height:min(70vh,calc(100vh - 7rem));overflow-y:auto;overscroll-behavior:contain;padding:.25rem 1rem 1rem;scrollbar-gutter:stable}.course-panel{position:absolute;z-index:3;inset:0 0 0 auto;width:min(28rem,48%);padding:clamp(1.25rem,3vw,2rem);background:#07120df0;border-left:1px solid rgba(242,233,214,.16);overflow-y:auto}.course-panel h1{margin:0;font-size:clamp(1.8rem,3.5vw,3rem);line-height:1}.course-panel p{color:#cbd8cc;line-height:1.5}.course-panel label{display:grid;gap:.35rem;color:#f2e9d6;font-weight:700}.course-panel select,.course-panel button{min-height:2.55rem;border:1px solid rgba(242,233,214,.34);border-radius:.6rem;padding:.5rem .65rem;background:#10251a;color:#f2e9d6}.course-panel button{cursor:pointer;font-weight:800}.course-panel button:disabled{cursor:not-allowed;opacity:.48}.course-panel button:focus-visible,.course-panel select:focus-visible{outline:3px solid #ffd22e;outline-offset:2px}.course-back{width:100%;margin:.8rem 0}.course-lengths{display:grid;grid-template-columns:repeat(4,1fr);gap:.35rem;margin:.85rem 0;border:0;padding:0}.course-lengths legend{grid-column:1 / -1;margin-bottom:.35rem;font-weight:700}.course-lengths button[aria-pressed=true]{border-color:#ffd22e;background:#ffd22e;color:#102014}.course-actions{display:grid;gap:.45rem}.course-actions button:first-child{border-color:#65ef70}.course-manifest-summary,.course-scorecard{margin-top:.9rem;border:1px solid rgba(101,239,112,.24);border-radius:.7rem;padding:.75rem;background:#0b2618ad}.course-manifest-summary ol,.course-scorecard ol{max-height:13rem;overflow-y:auto;padding-left:1.4rem}.course-manifest-summary li,.course-scorecard li{margin:.35rem 0;color:#dce9dd}.eyebrow{margin:0 0 .5rem;color:#ffd22e;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.foundation-panel h1{margin:0;font-size:clamp(2rem,4vw,3.75rem);line-height:.95}.foundation-panel p:not(.eyebrow){color:#cbd8cc;line-height:1.65}.foundation-panel dl{display:grid;gap:.55rem;margin:1rem 0 0}.foundation-panel dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid rgba(242,233,214,.14);padding-top:.55rem}.foundation-panel dt{color:#9cb2a0}.foundation-panel dd{margin:0;color:#ffd22e;font-variant-numeric:tabular-nums}.control-notes{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}.control-notes p{margin:0;padding:.75rem;border:1px solid rgba(242,233,214,.13);border-radius:.7rem;font-size:.82rem}.builder-entry{min-height:2.8rem;margin-top:1rem;border:1px solid #ffd22e;border-radius:.7rem;background:#ffd22e;color:#102014;cursor:pointer;font-weight:900}.prototype-caveat{margin-top:1rem;font-size:.72rem;opacity:.72}.tuning-panel{margin-top:1rem;border:1px solid rgba(242,233,214,.14);border-radius:.75rem;padding:.7rem}.tuning-panel summary{cursor:pointer;color:#ffd22e;font-weight:800}.tuning-action{width:100%;min-height:2.35rem;border:1px solid rgba(242,233,214,.3);border-radius:.5rem;background:#10251a;color:#f2e9d6;cursor:pointer;font-weight:700}.tuning-panel p,.tuning-panel small{color:#9cb2a0;font-size:.72rem}.performance-readout{margin-top:.75rem;border:1px solid rgba(101,239,112,.24);border-radius:.65rem;padding:.65rem;background:#0b2618b3}.performance-readout>strong{color:#65ef70;font-size:.78rem}.performance-readout dl{display:grid;gap:.25rem;margin:.5rem 0}.performance-readout dl div{display:flex;justify-content:space-between;gap:1rem;border:0;padding:0;font-size:.7rem}.performance-readout dt{color:#9cb2a0}.performance-readout dd{margin:0;color:#f2e9d6;font-variant-numeric:tabular-nums}.tuning-panel label{display:grid;gap:.35rem;margin-top:.7rem;color:#cbd8cc;font-size:.78rem;font-weight:700}.tuning-panel select{width:100%;min-height:2.35rem;border:1px solid rgba(242,233,214,.3);border-radius:.5rem;padding:.4rem;background:#10251a;color:#f2e9d6}.tuning-panel input[type=range]{width:100%;accent-color:#ffd22e}.proving-ground-controls{margin-top:.75rem;padding:.7rem;border:1px solid rgba(255,210,46,.36);border-radius:.65rem;background:#232c16d1}.proving-ground-controls>strong{color:#ffd22e;font-size:.82rem}.proving-ground-controls>p{margin:.35rem 0 .65rem}.proving-ground-controls>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.proving-ground-controls button{min-height:2.35rem;border:1px solid rgba(242,233,214,.3);border-radius:.5rem;padding:.35rem;background:#10251a;color:#f2e9d6;cursor:pointer;font-size:.7rem;font-weight:800}.proving-ground-controls button:disabled{cursor:not-allowed;opacity:.42}.ocean-study-controls{margin-top:.75rem;padding:.7rem;border:1px solid rgba(255,172,102,.42);border-radius:.65rem;background:#312322d6}.ocean-study-controls>strong{color:#ffb87c;font-size:.82rem}.ocean-study-controls>p{margin:.35rem 0 .65rem}.ocean-study-controls label{margin-top:.55rem}.tuning-advanced{margin-top:.75rem;border-top:1px solid rgba(242,233,214,.14);padding-top:.65rem}.tuning-advanced summary{color:#cbd8cc;font-size:.78rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.builder-shell{--builder-primary-height: clamp(4.6rem, 4.6vw, 5.35rem);--builder-adjustment-height: clamp(4rem, 4vw, 4.75rem);position:absolute;z-index:3;inset:0;min-width:0;min-height:0;color:#f2e9d6;pointer-events:none}.builder-shell button,.builder-playtest-overlay button{min-height:2.7rem;border:1px solid rgba(196,222,202,.34);border-radius:.68rem;padding:.55rem .82rem;background:#0b261af7;color:#f2e9d6;box-shadow:inset 0 1px #ffffff09,0 .2rem .7rem #00000024;cursor:pointer;font-size:clamp(.76rem,.36vw + .48rem,.92rem);font-weight:800;letter-spacing:.005em;transition:border-color .14s ease,background-color .14s ease,box-shadow .14s ease,color .14s ease,transform .14s ease}.builder-shell button:hover,.builder-playtest-overlay button:hover{border-color:#ffd22e;background:#153d29;box-shadow:inset 0 1px #ffffff0e,0 .35rem .95rem #0003;transform:translateY(-1px)}.builder-shell button:active,.builder-playtest-overlay button:active{transform:translateY(0)}.builder-shell :is(button,input,select,summary):focus-visible,.builder-playtest-overlay button:focus-visible{outline:3px solid #ffd22e;outline-offset:2px}.builder-shell button[aria-pressed=true]{border-color:#ffd22e;background:#ffd22e;color:#102014;box-shadow:inset 0 -2px #5a46002e}.builder-shell button:disabled{cursor:not-allowed;opacity:.42;box-shadow:none;transform:none}.builder-header{position:absolute;inset:0 0 auto;height:var(--builder-primary-height);display:flex;align-items:center;justify-content:space-between;gap:clamp(1rem,2vw,2.5rem);padding:.7rem clamp(1rem,1.7vw,2rem);border-bottom:1px solid rgba(242,233,214,.16);background:#04140ef5;backdrop-filter:blur(.75rem);pointer-events:auto}.builder-title-group{display:flex;align-items:center;gap:clamp(.8rem,1.25vw,1.45rem);min-width:0}.builder-title-group h1{margin:0;overflow:hidden;color:#fff8e6;font-size:clamp(1.35rem,1.15vw + .4rem,2rem);text-overflow:ellipsis;white-space:nowrap}.builder-saved,.builder-unsaved{display:inline-flex;align-items:center;gap:.48rem;font-size:clamp(.75rem,.3vw + .45rem,.9rem);font-weight:850;white-space:nowrap}.builder-saved{color:#65ef70}.builder-unsaved{color:#ffd22e}.builder-state-dot{width:.55rem;height:.55rem;flex:none;border-radius:50%;background:currentColor}.builder-save-button{min-height:2.1rem!important;padding:.3rem .6rem!important}.builder-primary-actions{display:flex;align-items:center;gap:clamp(.65rem,1vw,1.15rem)}.builder-primary-actions button{min-width:clamp(7.5rem,9vw,11rem);min-height:clamp(2.8rem,2.8vw,3.35rem);padding-inline:clamp(.9rem,1.4vw,1.5rem)}.builder-primary-actions .builder-publish-action{border-color:#ffd22e}.builder-primary-actions .builder-publish-action:not([aria-pressed=true]){background:#ffd22e;color:#102014;box-shadow:inset 0 -2px #5a46002e,0 .35rem 1rem #ffd22e1f}.builder-adjustment-bar{position:absolute;z-index:5;inset:var(--builder-primary-height) 0 auto;min-height:var(--builder-adjustment-height);display:flex;align-items:center;justify-content:space-between;gap:clamp(.55rem,1vw,1.3rem);overflow-x:auto;overscroll-behavior-x:contain;padding:.55rem clamp(.85rem,1.35vw,1.65rem);border-bottom:1px solid rgba(242,233,214,.14);background:#051811f5;pointer-events:auto;scrollbar-width:thin}.builder-adjustment-bar>*{min-width:0}.builder-adjustment-bar button{min-height:clamp(2.75rem,2.65vw,3.2rem);white-space:nowrap}.builder-history-controls,.builder-rotate-controls,.builder-selection-actions{display:flex;align-items:center;gap:clamp(.35rem,.5vw,.65rem)}.builder-history-controls{flex:0 0 auto;padding-right:clamp(.5rem,.75vw,.85rem);border-right:1px solid rgba(242,233,214,.16)}.builder-history-controls button{min-width:clamp(4.4rem,5.6vw,6.25rem);padding-inline:clamp(.65rem,.8vw,1rem)}.builder-rotate-controls{flex:0 1 15rem;justify-content:center}.builder-selection-actions{flex:0 0 auto}.builder-rotate-controls button{min-width:clamp(4.4rem,5.1vw,5.75rem)}.builder-selection-actions button{min-width:clamp(6.5rem,7vw,8rem)}.builder-rotate-controls>span{padding:0 clamp(.2rem,.35vw,.45rem);color:#cbd8cc;font-size:clamp(.7rem,.3vw + .43rem,.84rem);font-weight:850;letter-spacing:.03em}.builder-snap-state{flex:0 0 auto;display:inline-flex;align-items:center;gap:.48rem;min-height:clamp(2.75rem,2.65vw,3.2rem);padding:0 clamp(.8rem,1vw,1.15rem);border:1px solid rgba(196,222,202,.22);border-radius:.68rem;color:#9cb2a0;background:#071f15b8;font-size:clamp(.72rem,.3vw + .44rem,.86rem);font-weight:850}.builder-snap-state.is-selected{color:#65ef70}.builder-adjustment-bar .builder-danger{border-color:#e27b65;color:#ffd4c8}.builder-nudge-menu{position:relative;flex:0 0 auto}.builder-nudge-menu>summary{min-width:6.5rem;min-height:clamp(2.75rem,2.65vw,3.2rem);display:grid;place-items:center;border:1px solid rgba(196,222,202,.34);border-radius:.68rem;padding:.55rem .9rem;background:#0b261af7;cursor:pointer;font-size:clamp(.76rem,.36vw + .48rem,.92rem);font-weight:800;list-style:none}.builder-nudge-menu>summary::-webkit-details-marker{display:none}.builder-nudge-popover{position:fixed;z-index:9;top:calc(var(--builder-primary-height) + var(--builder-adjustment-height) + .5rem);left:8.25rem;display:grid;grid-template-columns:repeat(2,minmax(6rem,1fr));gap:.4rem;width:15rem;padding:.6rem;border:1px solid #ffd22e;border-radius:.75rem;background:#04140efa;box-shadow:0 1rem 2.5rem #0006}.builder-camera-dock,.builder-placement-dock{position:absolute;z-index:7;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.45rem;border:1px solid rgba(242,233,214,.24);border-radius:.9rem;padding:.5rem;background:#04140ef0;box-shadow:0 .8rem 2.5rem #00000052;pointer-events:auto;backdrop-filter:blur(.65rem)}.builder-camera-dock>span{margin:0 .35rem;color:#b8cbbd;font-size:.72rem;white-space:nowrap}.builder-camera-dock>span strong{color:#fff8e6}.builder-camera-dock button{min-height:2.4rem;padding:.42rem .68rem}.builder-camera-dock button[aria-label^=Zoom]{min-width:2.6rem;padding-inline:.45rem;font-size:1.1rem}.builder-placement-dock{right:max(1rem,calc((100% - clamp(19rem,23vw,23rem))/2 - 20rem));bottom:1rem;max-width:calc(100% - clamp(19rem,23vw,23rem) - 2rem)}.builder-placement-dock>div{min-width:12rem;display:grid;gap:.12rem;padding:0 .45rem}.builder-placement-dock strong{color:#fff8e6;font-size:.83rem}.builder-placement-dock span{color:#b8cbbd;font-size:.68rem;line-height:1.25}.builder-placement-dock small{color:#8fa994;font-size:.62rem;line-height:1.25}.builder-placement-dock.is-invalid{border-color:#ff7869;box-shadow:0 0 0 2px #ff786926,0 .8rem 2.5rem #00000052}.builder-placement-dock.is-invalid span{color:#ffb0a5;font-weight:800}.builder-placement-dock .builder-place-action{border-color:#65ef70;background:#65ef70;color:#102014}.builder-advanced{position:relative;flex:0 0 auto}.builder-advanced>summary{min-width:clamp(10.5rem,11.5vw,13.25rem);min-height:clamp(2.75rem,2.65vw,3.2rem);display:flex;align-items:center;justify-content:center;border:1px solid rgba(196,222,202,.34);border-radius:.68rem;padding:.55rem clamp(.75rem,1vw,1.15rem);background:#0b261af7;cursor:pointer;font-size:clamp(.76rem,.36vw + .48rem,.92rem);font-weight:800;list-style-position:inside}.builder-advanced-popover{position:fixed;z-index:8;top:calc(var(--builder-primary-height) + var(--builder-adjustment-height) + .55rem);right:clamp(.75rem,1.2vw,1.4rem);width:min(25rem,calc(100vw - 1.5rem));max-height:min(65vh,38rem);overflow-y:auto;padding:.85rem;border:1px solid #ffd22e;border-radius:.8rem;background:#04140efa;box-shadow:0 1rem 3rem #0000006b}.builder-advanced-popover>strong{display:block;margin-bottom:.55rem;color:#fff8e6}.builder-advanced-popover>p{margin:0;color:#cbd8cc}.builder-advanced-popover fieldset{margin:.65rem 0 0;border:1px solid rgba(242,233,214,.16);border-radius:.55rem;padding:.55rem}.builder-advanced-popover legend{color:#cbd8cc;font-size:.7rem}.builder-catalog{position:absolute;z-index:4;top:calc(var(--builder-primary-height) + var(--builder-adjustment-height));bottom:0;left:0;width:clamp(19rem,23vw,23rem);display:flex;flex-direction:column;min-height:0;border-right:1px solid rgba(242,233,214,.16);background:#04140ef7;box-shadow:1rem 0 2.5rem #0003;pointer-events:auto}.builder-panes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.38rem;padding:.65rem;border-bottom:1px solid rgba(242,233,214,.12)}.builder-panes button{min-width:0;padding-inline:.3rem;font-size:.72rem}.builder-catalog-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:.75rem;scrollbar-gutter:stable}.builder-library h2{margin:0 0 .45rem;color:#ffd22e;font-size:.86rem}.builder-library h2:not(:first-child){margin-top:1rem}.builder-library p{margin:0 0 .75rem;color:#b6c8b9;font-size:.75rem;line-height:1.45}.builder-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.42rem}.builder-library-grid .builder-library-item{min-height:7.15rem;display:grid;grid-template-rows:4.65rem auto;gap:.38rem;align-content:start;overflow:hidden;padding:.42rem;font-size:.7rem;line-height:1.2}.builder-library-thumbnail{position:relative;width:100%;height:4.65rem;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(196,222,202,.12);border-radius:.48rem;background:#061b12c2}.builder-library-thumbnail img{width:100%;height:100%;display:block;object-fit:contain}.builder-library-item>span:last-child{align-self:center}.builder-trap-library{margin-bottom:.65rem}.builder-trap-key{display:grid;gap:.4rem;margin:0 0 .85rem;padding:.65rem;border:1px solid rgba(242,233,214,.14);border-radius:.7rem;background:#05150fb8;color:#cbd8cc;font-size:.7rem;line-height:1.35}.builder-trap-key strong{color:#fff4d1}.builder-point-editor{margin-top:.8rem;border:1px solid rgba(242,233,214,.16);border-radius:.55rem;padding:.55rem}.builder-point-editor legend{color:#ffd22e;font-size:.7rem;font-weight:800}.builder-axis-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.builder-axis-grid label{display:grid;gap:.2rem;color:#9cb2a0;font-size:.67rem;font-weight:800}.builder-axis-grid input{width:100%;min-height:2.15rem;border:1px solid rgba(242,233,214,.25);border-radius:.4rem;padding:.35rem;background:#09140f;color:#f2e9d6}.builder-angle-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:.55rem}.builder-angle-grid label{display:grid;gap:.25rem;color:#9cb2a0;font-size:.7rem;font-weight:800}.builder-angle-grid select{min-height:2.25rem;border:1px solid rgba(242,233,214,.25);border-radius:.4rem;padding:.35rem;background:#09140f;color:#f2e9d6}.builder-motion-controls{display:grid;gap:.55rem;margin-top:.65rem;border:1px solid rgba(255,210,46,.28);border-radius:.55rem;padding:.55rem}.builder-motion-controls legend{color:#ffd22e;font-size:.7rem;font-weight:850}.builder-motion-controls label{display:grid;gap:.25rem;color:#cbd8cc;font-size:.7rem;font-weight:750}.builder-motion-controls :is(select,input){width:100%;accent-color:#ffd22e}.builder-motion-controls select{min-height:2.25rem;border:1px solid rgba(242,233,214,.25);border-radius:.4rem;padding:.35rem;background:#09140f;color:#f2e9d6}.builder-set-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem;margin-bottom:.9rem}.builder-set-grid button{min-width:0;min-height:5.2rem;display:grid;align-content:center;gap:.3rem;padding:.65rem;text-align:left}.builder-set-grid button strong{color:#fff8e6;font-size:.8rem}.builder-set-grid button span{color:#9cb2a0;font-size:.66rem;font-weight:650;line-height:1.35}.builder-set-grid button[aria-pressed=true]{border-color:#ffd22e;background:#ffd22e}.builder-set-grid button[aria-pressed=true] strong{color:#102117}.builder-set-grid button[aria-pressed=true] span{color:#31543b}.builder-hole-details{display:grid;gap:.6rem;margin:0 0 .85rem;border:1px solid rgba(242,233,214,.16);border-radius:.65rem;padding:.65rem}.builder-hole-details legend{color:#ffd22e;font-size:.72rem;font-weight:850}.builder-hole-details label{display:grid;gap:.3rem;color:#cbd8cc;font-size:.7rem;font-weight:750}.builder-hole-details :is(input,textarea){width:100%;min-height:2.35rem;resize:vertical;border:1px solid rgba(242,233,214,.25);border-radius:.45rem;padding:.5rem;background:#09140f;color:#f2e9d6;font:inherit}.builder-stretch-note{border:1px solid rgba(255,210,46,.22);border-radius:.65rem;padding:.75rem;color:#cbd8cc;font-size:.75rem;line-height:1.45}.builder-placed{margin-top:1rem;border-top:1px solid rgba(242,233,214,.13);padding-top:.75rem}.builder-placed summary{display:flex;justify-content:space-between;gap:1rem;cursor:pointer;color:#fff8e6;font-size:.8rem;font-weight:850}.builder-placed summary span{color:#ffd22e}.builder-entity-list{display:grid;gap:.35rem;margin-top:.55rem}.builder-entity-list button{min-width:0;display:grid;gap:.15rem;overflow:hidden;text-align:left}.builder-entity-list button span{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.builder-entity-list button small{overflow:hidden;color:#8fa994;font-size:.62rem;text-overflow:ellipsis;white-space:nowrap}.builder-entity-list button[aria-pressed=true] small{color:#27432f}.builder-catalog-footer{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.55rem .75rem;border-top:1px solid rgba(242,233,214,.12);color:#cbd8cc;font-size:.68rem}.builder-catalog-footer small{color:#8fa994;text-align:right}.builder-playtest-overlay{position:absolute;z-index:4;top:1rem;left:50%;display:flex;align-items:center;gap:1rem;transform:translate(-50%);border:1px solid rgba(242,233,214,.35);border-radius:999px;padding:.5rem .55rem .5rem 1rem;background:#04140ef0;color:#f2e9d6;box-shadow:0 .75rem 2rem #0000004d;backdrop-filter:blur(.65rem)}.builder-playtest-overlay div{display:grid;gap:.1rem}.builder-playtest-overlay span{color:#aebfb1;font-size:.68rem}.builder-readiness-card{position:absolute;z-index:4;top:calc(var(--builder-primary-height) + 1rem);right:1rem;bottom:1rem;width:min(30rem,calc(100% - 2rem));overflow-y:auto;padding:1.15rem;border:1px solid rgba(242,233,214,.26);border-radius:1rem;background:#04140ef5;box-shadow:0 1rem 3rem #00000061;pointer-events:auto}.builder-readiness-card h2{margin:0;font-size:1.7rem}.builder-readiness-card>p:not(.eyebrow){color:#cbd8cc;line-height:1.5}.builder-readiness-list{display:grid;gap:.55rem}.builder-readiness-list>section{border:1px solid rgba(242,233,214,.13);border-radius:.65rem;padding:.75rem;background:#10251a7a}.builder-readiness-list strong{color:#ffd22e}.builder-readiness-list p{margin:.35rem 0 .65rem;color:#b6c8b9;font-size:.78rem;line-height:1.45}.builder-par-actions{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.45rem}.builder-par-actions span{color:#fff8e6;font-weight:900}.builder-readiness-actions{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.8rem}.builder-local-evidence{margin-top:.8rem;border-top:1px solid rgba(242,233,214,.13);padding-top:.75rem}.builder-local-evidence>summary{cursor:pointer;color:#9cb2a0;font-size:.75rem;font-weight:800}.local-lifecycle-card{margin-top:.85rem;padding:.85rem;border:1px solid rgba(144,198,158,.36);border-radius:.8rem;background:#031912b8}.local-lifecycle-card h3,.local-lifecycle-card p{margin-top:0}.local-lifecycle-card dl{display:grid;gap:.35rem}.local-lifecycle-card dl div{display:grid;grid-template-columns:minmax(8rem,.7fr) 1fr;gap:.6rem}.local-lifecycle-card dt{color:#b8ceb9}.local-lifecycle-card dd{margin:0;overflow-wrap:anywhere}.local-lifecycle-card select{width:100%;margin-top:.3rem}.local-mock-warning{color:#ffe095}@media(prefers-reduced-motion:reduce){.builder-shell button,.builder-playtest-overlay button{transition:none}}@media(max-width:850px){.builder-shell{--builder-primary-height: 4rem;--builder-adjustment-height: 3.55rem}.game-surface{inset:0;width:100%;height:100%;aspect-ratio:auto;transform:none}.foundation-panel{right:.65rem;bottom:.65rem;width:calc(100% - 1.3rem);max-height:calc(100% - 1.3rem)}.debug-scroll{max-height:calc(100vh - 6rem)}.course-panel{width:min(100%,32rem);border-left:1px solid rgba(242,233,214,.16)}.score-hud{top:.75rem;left:.75rem}.prototype-actions{top:3.55rem;right:.65rem;bottom:auto;left:.65rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem}.prototype-actions button{min-height:2.3rem;padding:.38rem .2rem;border-radius:.55rem;font-size:clamp(.62rem,2.6vw,.78rem);white-space:nowrap}.action-label-wide{display:none}.action-label-mobile{display:inline}.completion-card{top:45%}.builder-header{height:var(--builder-primary-height);align-items:center;padding:.5rem .6rem}.builder-title-group{gap:.45rem}.builder-title-group h1{max-width:8rem;font-size:1rem}.builder-saved,.builder-unsaved{font-size:.66rem}.builder-save-button{display:none}.builder-primary-actions{gap:.3rem}.builder-primary-actions button{min-width:0;min-height:2.25rem;padding-inline:.45rem;font-size:.68rem}.builder-adjustment-bar{inset:var(--builder-primary-height) 0 auto;min-height:var(--builder-adjustment-height);justify-content:flex-start;padding:.42rem .5rem}.builder-adjustment-bar button,.builder-nudge-menu>summary,.builder-advanced>summary,.builder-snap-state{min-height:2.35rem;font-size:.68rem}.builder-rotate-controls>span{font-size:.65rem}.builder-catalog{top:calc(var(--builder-primary-height) + var(--builder-adjustment-height));width:min(22rem,82%)}.builder-advanced-popover{top:calc(var(--builder-primary-height) + var(--builder-adjustment-height) + .45rem)}.builder-panes{padding:.5rem}.builder-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.builder-readiness-card{top:calc(var(--builder-primary-height) + .65rem);right:.65rem;bottom:.65rem;width:calc(100% - 1.3rem)}.builder-playtest-overlay{top:.65rem;width:calc(100% - 1.3rem);justify-content:space-between}.builder-playtest-overlay span{display:none}.builder-camera-dock{right:.55rem;bottom:.55rem;max-width:calc(100% - 1.1rem);overflow-x:auto}.builder-camera-dock>span{display:none}.builder-placement-dock{right:.55rem;bottom:.55rem;left:.55rem;max-width:none;overflow-x:auto}.builder-placement-dock>div{min-width:11rem}}@media(max-width:1180px)and (min-width:851px){.builder-shell{--builder-primary-height: 4.35rem;--builder-adjustment-height: 3.8rem}.builder-primary-actions button{min-width:5.5rem}.builder-adjustment-bar{justify-content:flex-start;padding-inline:.6rem}.builder-rotate-controls{flex:0 0 auto}.builder-catalog{width:clamp(19rem,28vw,22rem)}}@media(max-height:620px)and (min-width:851px){.debug-scroll{max-height:calc(100vh - 5rem)}.course-panel{width:min(24rem,45%);padding:1.25rem}.foundation-panel h1{font-size:2rem}}.builder-shell{--builder-adjustment-height: 0px}.builder-catalog{top:var(--builder-primary-height);width:clamp(21rem,24vw,24.5rem);border-right-color:#f2e9d633;background:#04150ef6}.builder-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;padding:.75rem;border-bottom:1px solid rgba(242,233,214,.14);background:#0a261af5}.builder-mode-tabs button{min-height:3rem;border-radius:.75rem;font-size:.9rem;letter-spacing:.01em}.builder-mode-tabs button,.builder-select-actions button,.builder-history-controls button{display:inline-flex;align-items:center;justify-content:center;gap:.42rem}.builder-mode-tabs button svg,.builder-select-actions button svg,.builder-history-controls button svg{width:1rem;height:1rem;flex:0 0 auto;stroke-width:2.35}.builder-mode-tabs button[aria-pressed=true]{border-color:#ffd22e;background:#ffd22e;color:#102014;box-shadow:0 .35rem 1rem #ffd22e24,inset 0 -2px #5a46002e}.builder-panes{padding:.6rem .75rem}.builder-catalog-scroll{padding:.8rem}.builder-placement-card{display:grid;gap:.7rem;margin-bottom:.85rem;border:1px solid rgba(101,239,112,.55);border-radius:.8rem;padding:.8rem;background:#113f26bf}.builder-placement-card.is-invalid{border-color:#ff7869;background:#481d18b8}.builder-placement-card>div:first-child{display:grid;gap:.2rem}.builder-placement-card strong{color:#fff8e6;font-size:.94rem}.builder-placement-card p{margin:0;color:#c6d8c9;font-size:.75rem;line-height:1.35}.builder-placement-card small{color:#9ab19e;font-size:.66rem;line-height:1.4}.builder-placement-actions{display:grid;grid-template-columns:1fr 1fr auto;gap:.38rem}.builder-placement-actions button{min-width:0;min-height:2.4rem;padding:.45rem .5rem;font-size:.68rem}.builder-select-panel{display:grid;align-content:start;gap:.75rem}.builder-selected-summary{display:grid;gap:.15rem;border:1px solid rgba(255,210,46,.22);border-radius:.75rem;padding:.75rem;background:#0d2d1ebf}.builder-selected-summary h2{margin:0;overflow:hidden;color:#fff8e6;font-size:1rem;text-overflow:ellipsis;white-space:nowrap}.builder-selected-summary small{overflow:hidden;color:#8fa994;font-size:.64rem;text-overflow:ellipsis;white-space:nowrap}.builder-select-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.42rem}.builder-select-actions button{min-width:0;min-height:2.75rem}.builder-select-actions .builder-danger{border-color:#e27b65;color:#ffd4c8}.builder-select-panel .builder-history-controls{display:grid;grid-template-columns:1fr 1fr;gap:.42rem;border-right:0;padding-right:0}.builder-select-panel .builder-history-controls button{min-width:0;min-height:2.4rem}.builder-scene-list-heading{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.1rem}.builder-scene-list-heading h2{margin:0;color:#ffd22e;font-size:.9rem}.builder-scene-list-heading span{min-width:1.7rem;border-radius:999px;padding:.18rem .42rem;background:#ffd22e24;color:#ffd22e;font-size:.68rem;font-weight:900;text-align:center}.builder-scene-list-help{margin:-.35rem 0 0;color:#aebfb1;font-size:.72rem;line-height:1.4}.builder-select-panel .builder-entity-list{max-height:clamp(11rem,26vh,18rem);overflow-y:auto;overscroll-behavior:contain;margin-top:0;padding-right:.2rem;scrollbar-gutter:stable}.builder-select-panel .builder-entity-list button{min-height:3.35rem;grid-template-columns:3.4rem minmax(0,1fr);align-items:center;border-color:#c4deca2e;padding:.38rem .55rem}.builder-select-panel .builder-entity-list .builder-library-thumbnail{width:3.4rem;height:2.55rem;border:0;background:#071f156b}.builder-select-panel .builder-entity-list button>span:last-child{min-width:0;display:grid;gap:.12rem}.builder-select-panel .builder-entity-list button strong{overflow:hidden;font-size:.74rem;text-overflow:ellipsis;white-space:nowrap}.builder-select-panel .builder-entity-list button small{display:block}.builder-select-panel .builder-entity-list button[aria-pressed=true]{border-color:#ffd22e;background:#ffd22e;color:#102014}.builder-select-panel .builder-entity-list button[aria-pressed=true] .builder-library-thumbnail{background:#1020141f}.builder-transform-inspector{display:grid;gap:.65rem;border-top:1px solid rgba(242,233,214,.14);padding-top:.75rem}.builder-transform-inspector h2{margin:0;color:#ffd22e;font-size:.9rem}.builder-transform-inspector fieldset{margin:0;border:1px solid rgba(242,233,214,.16);border-radius:.6rem;padding:.6rem}.builder-transform-inspector legend{color:#cbd8cc;font-size:.7rem;font-weight:800}.builder-rotation-inspector{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.builder-rotation-inspector label{display:grid;gap:.2rem;color:#9cb2a0;font-size:.67rem;font-weight:800}.builder-rotation-inspector select{min-width:0;min-height:2.15rem;border:1px solid rgba(242,233,214,.25);border-radius:.4rem;padding:.35rem;background:#09140f;color:#f2e9d6}.builder-camera-dock{left:auto;max-width:calc(100% - clamp(21rem,24vw,24.5rem) - 2rem)}@media(max-width:850px){.builder-shell{--builder-primary-height: 4rem}.builder-catalog{top:var(--builder-primary-height);width:min(21rem,82%)}.builder-mode-tabs{padding:.5rem}.builder-mode-tabs button{min-height:2.5rem;font-size:.76rem}.builder-camera-dock{max-width:calc(100% - 1.1rem)}}@media(max-width:1180px)and (min-width:851px){.builder-shell{--builder-primary-height: 4.35rem}.builder-catalog{top:var(--builder-primary-height);width:clamp(20rem,29vw,22.5rem)}.builder-camera-dock{max-width:calc(100% - clamp(20rem,29vw,22.5rem) - 1.5rem)}}:root{--builder-catalog-width: clamp(290px, 25vw, 380px)}main:has(.guided-builder) .prototype-status{display:none}.guided-builder .builder-step{flex-shrink:0}.guided-builder .builder-step-content>.builder-library-item{width:100px}.guided-builder .builder-header{height:64px;padding:8px 20px;background:#032219;border-bottom:1px solid #48604c;gap:20px}.guided-builder .builder-title-group h1{font-size:clamp(16px,1.5vw,24px);white-space:nowrap}.guided-builder .builder-primary-actions{gap:16px}.guided-builder .builder-primary-actions button{min-width:110px;min-height:42px}.guided-builder .builder-history-controls{display:flex;gap:8px}.guided-builder .builder-history-controls button{width:46px;min-height:42px;padding:8px}.guided-builder .builder-history-controls svg{width:25px;height:25px}.guided-builder .builder-catalog{top:64px;bottom:0;left:0;width:var(--builder-catalog-width);border-radius:0;padding:14px;background:#032219f5;display:flex;flex-direction:column}.guided-builder .builder-catalog-scroll{display:flex;flex:1;min-height:0;flex-direction:column;gap:9px;padding:0;overflow-y:auto;overscroll-behavior:contain}.guided-builder .builder-step{flex-shrink:0;border:1px solid #526750;border-radius:9px;background:#032219;overflow:visible}.guided-builder .builder-step-heading{border:0;width:100%;min-height:43px;display:flex;align-items:center;gap:9px;padding:8px 10px;background:transparent;text-align:left;font-size:16px;font-weight:650;cursor:pointer}.guided-builder .builder-step-heading svg{margin-left:auto;width:18px;height:18px;flex-shrink:0}.guided-builder summary{list-style:none}.guided-builder summary::-webkit-details-marker{display:none}.guided-builder .step-number{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid #a4b99e;border-radius:50%;flex-shrink:0}.guided-builder .builder-step-heading[aria-expanded=true] .step-number{background:#ffcf19;border-color:#ffcf19;color:#0c2419}.guided-builder .builder-step-content{padding:4px 12px 12px}.guided-builder .builder-step-content h2{font-size:13px;margin:10px 0 7px}.guided-builder .builder-connection-mode{display:flex;gap:6px}.guided-builder .builder-placement-controls{position:sticky;top:0;z-index:3;background:#032219;padding:6px 0;box-shadow:0 3px #032219}.guided-builder .builder-connection-mode button{flex:1;border-radius:6px;min-height:35px;padding:6px}.guided-builder button[aria-pressed=true]{background:#ffcf19;color:#102418;border-color:#ffdf54}.guided-builder .builder-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 5px 0 0}.guided-builder .builder-library-item{display:flex;flex-direction:column;justify-content:center;min-width:0;min-height:70px;padding:4px;border-radius:7px;background:#092b20;border:1px solid #294838;gap:3px}.guided-builder .builder-library-item span{font-size:13px;font-weight:600;line-height:1.15}.guided-builder .builder-library-item{position:relative}.guided-builder .builder-library-item .builder-tile-place{position:absolute;top:14px;left:50%;transform:translate(-50%);padding:5px 12px;border-radius:5px;background:#155b38;color:#fff8e6;font-weight:750;pointer-events:none}.guided-builder .builder-step-content .builder-free-rotation{display:flex;align-items:center;gap:8px;min-height:36px}.guided-builder .builder-step-content .builder-free-rotation input{width:18px;height:18px;margin:0}.guided-builder .builder-library-item .builder-library-thumbnail{height:54px;width:100%;flex-shrink:0;border:0;background:transparent;padding:2px;box-sizing:border-box}.guided-builder .builder-library-item>span:last-child,.guided-builder .builder-theme-grid button>span:last-child{background:#274f6ab8;color:#f4f8ed;border-top:1px solid rgba(158,208,232,.22)}.guided-builder .builder-library-item>span:last-child{align-self:stretch;min-height:24px;padding:4px 3px;border-radius:4px;box-sizing:border-box;overflow-wrap:break-word}.guided-builder .builder-library-item[aria-pressed=true]>span:last-child,.guided-builder .builder-theme-grid button[aria-pressed=true]>span:last-child{background:#193c53e0;color:#fff8dd}@media(max-width:1000px){.guided-builder .builder-library-item>span:last-child{font-size:12px}}.guided-builder .builder-course-library{padding-right:5px;margin-top:8px}.guided-builder .builder-group-hint{display:block;color:#b7c9b5;font-size:11px;margin:-2px 0 8px}.guided-builder .builder-sections,.guided-builder .builder-advanced{height:auto;max-height:none;overflow:visible}.guided-builder .builder-cup-action{margin:0 10px 10px;width:calc(100% - 20px);display:flex;align-items:center;gap:15px;text-align:left;padding:12px}.guided-builder .builder-cup-action svg{width:28px;height:34px;color:#ffd23e}.guided-builder .builder-cup-action small{display:block;font-weight:400;color:#acbcae;margin-top:4px}.guided-builder .builder-entity-list{display:flex;flex-direction:column;max-height:none;margin-top:0;overflow:visible;gap:5px;padding:0 10px 10px}.guided-builder .builder-entity-list button{min-height:44px;display:flex;align-items:center;gap:10px;padding:4px 8px;font-size:14px;font-weight:600;text-align:left}.guided-builder .builder-entity-list button span{font-size:14px}.guided-builder .builder-entity-list .builder-library-thumbnail{width:52px;height:32px;flex-shrink:0;border:0;background:transparent}.guided-builder .builder-step-content label{display:block;margin-top:9px;font-size:12px}.guided-builder .builder-step-content input,.guided-builder .builder-step-content select{width:100%;margin-top:4px;padding:9px}.guided-builder .builder-catalog-footer{padding:8px 0 0;font-size:11px;flex-shrink:0}.guided-builder .builder-panel-toggle{position:absolute;left:calc(var(--builder-catalog-width) + 8px);top:76px;pointer-events:auto;width:44px;height:44px;padding:10px}.guided-builder.is-collapsed .builder-catalog{display:none}.guided-builder.is-collapsed .builder-panel-toggle{left:12px}.guided-builder .builder-object-arc{position:absolute;top:0;left:0;width:0;height:0;z-index:15;pointer-events:none}.guided-builder .builder-object-arc button{position:absolute;width:46px;height:46px;min-width:46px;padding:10px;border-radius:50%;border:1px solid #d6dfc1;background:#032219ef;box-shadow:0 3px 9px #00170a80;pointer-events:auto}.guided-builder .builder-object-arc button svg{width:24px;height:24px}.guided-builder .builder-object-arc button:nth-child(1){left:0;top:-108px}.guided-builder .builder-object-arc button:nth-child(2){left:34px;top:-42px}.guided-builder .builder-object-arc button:nth-child(3){left:34px;top:26px}.guided-builder .builder-object-arc button:nth-child(4){left:0;top:92px}.guided-builder .builder-object-arc button[aria-label=Delete],.guided-builder .builder-object-arc button[aria-label="Cancel placement"]{border-color:#f19b84}.guided-builder .builder-object-arc button[aria-label="Confirm placement"]{border-color:#bced8e}.guided-builder .builder-object-arc button[aria-pressed=true]{background:#ffcf19;color:#102418}.guided-builder .builder-camera-dock{left:calc(var(--builder-catalog-width) + 28px);right:20px;bottom:14px;top:auto;transform:none;width:fit-content;max-width:calc(100% - var(--builder-catalog-width) - 48px);padding:7px 12px;display:flex;gap:12px;font-size:12px}.guided-builder .builder-camera-dock button{pointer-events:auto;padding:6px 12px}.guided-builder.is-collapsed .builder-camera-dock{left:20px;max-width:calc(100% - 40px)}.guided-builder .builder-header button,.guided-builder .builder-theme-grid button{font-weight:650}.guided-builder .builder-header{height:80px;background:#032219;gap:clamp(10px,1.3vw,24px);z-index:30;overflow:visible}.guided-builder .builder-title-group{flex:1;min-width:0;gap:16px}.guided-builder .builder-hole-name{width:clamp(130px,18vw,300px);min-width:0;height:48px;padding:10px 14px;border:1px solid #657054;border-radius:9px;background:#051c14;color:#f2e9d6;font:inherit;font-weight:750}.guided-builder .builder-save-state{font-size:13px;white-space:nowrap;color:#c6d8b0}.guided-builder .builder-primary-actions{gap:clamp(8px,1.2vw,20px);flex:0 0 auto}.guided-builder .builder-header button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;min-width:48px;padding:10px 14px;background:#051c14;border:1px solid #657054;border-radius:9px;font-size:15px}.guided-builder .builder-header svg{width:22px;height:22px;flex-shrink:0}.guided-builder .builder-history-controls{border:0;padding:0}.guided-builder .builder-header .builder-test-action{background:#ffcf19;color:#102418;border-color:#ffe179}.guided-builder .builder-catalog{top:80px}.guided-builder .builder-panel-toggle{top:92px}.guided-builder .builder-menu-anchor,.guided-builder .builder-objects-anchor{position:relative}.guided-builder .builder-header-popup{position:absolute;top:calc(100% + 6px);right:0;width:300px;max-width:calc(100vw - 24px);background:#032219;border:1px solid #758060;border-radius:10px;box-shadow:0 10px 28px #00140dbb;padding:8px;pointer-events:auto}.guided-builder .builder-menu-popup{left:0;right:auto;width:260px;display:grid;gap:4px}.guided-builder .builder-menu-popup button{justify-content:flex-start;border:0}.guided-builder .builder-popup-heading{display:flex;align-items:center;justify-content:space-between;padding:0 8px 6px;border-bottom:1px solid #3d5440}.guided-builder .builder-popup-heading button{padding:8px;min-width:44px;min-height:44px;border:0;background:transparent}.guided-builder .builder-objects-popup .builder-entity-list{max-height:min(320px,55vh);overflow-y:auto;overscroll-behavior:contain;padding:6px 0 0}.guided-builder .builder-objects-popup .builder-entity-list button{justify-content:flex-start;width:100%;padding:6px;border:1px solid transparent}.guided-builder .builder-objects-popup button[aria-pressed=true]{background:#123921;color:#fff2bf;border-color:#ffcf19}.guided-builder .builder-theme-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:12px}.guided-builder .builder-theme-grid button{overflow:hidden;padding:0;border:1px solid #526750;border-radius:9px;background:#051c14;color:#f2e9d6}.guided-builder .builder-theme-grid button[aria-pressed=true]{border:2px solid #ffcf19;background:#051c14;color:#fff2bf}.guided-builder .builder-theme-grid img{display:block;width:100%;aspect-ratio:1 / 1.05;object-fit:cover}.guided-builder .builder-theme-grid span{min-height:36px;display:flex;align-items:center;justify-content:center;gap:10px;padding:6px}.guided-builder .builder-theme-grid svg{width:18px;height:18px}.guided-builder .builder-theme-grid button{position:relative}.guided-builder .builder-theme-grid .builder-theme-confirm{position:absolute;top:38%;left:12%;right:12%;min-height:40px;background:#236849;color:#fff;border:1px solid #90d9ac;border-radius:8px}.guided-builder .builder-optional-label{display:block;color:#c6d0bb;font-size:12px;margin:0 0 12px}.guided-builder .builder-features-library h2:not(:first-of-type){border-top:1px solid #526750;padding-top:16px}.guided-builder .builder-test-anchor{position:relative}.guided-builder .builder-test-action.is-ready{box-shadow:0 0 0 3px #fff0a3,0 0 14px #ffcf1960}.guided-builder .builder-test-hint{position:absolute;top:calc(100% + 10px);right:0;width:max-content;max-width:230px;padding:10px 14px;border:1px solid #ffcf19;border-radius:8px;background:#112c20;color:#fff2bf;font-size:13px;pointer-events:none}.guided-builder .builder-motion-popup{position:absolute;right:24px;top:100px;z-index:31;width:260px;padding:10px;background:#032219;border:1px solid #758060;border-radius:10px;pointer-events:auto}.guided-builder .builder-motion-popup fieldset{border:0;padding:0 8px}.guided-builder .builder-motion-popup label{display:grid;gap:4px;margin:10px 0;font-size:14px}.guided-builder .builder-motion-popup input,.guided-builder .builder-motion-popup select{min-height:40px;width:100%;background:#051c14;color:#f2e9d6;border:1px solid #657054;border-radius:6px;padding:8px}.guided-builder .builder-object-arc button:nth-child(5){left:-60px;top:108px}.builder-dialog{width:min(500px,calc(100% - 32px));max-height:calc(100% - 32px);overflow:auto;color:#f2e9d6;background:#032219;border:1px solid #758060;border-radius:14px;padding:24px;pointer-events:auto}.builder-dialog::backdrop{background:#00120bbd}.builder-dialog h2{margin-top:0;font-size:22px}.builder-dialog p{font-size:14px;line-height:1.5}.builder-dialog-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.builder-dialog button{min-height:44px}.builder-dialog-actions button:first-child{background:#ffcf19;color:#102418}.builder-draft-list{display:grid;gap:8px;margin-bottom:16px}.builder-draft-list button{display:grid;text-align:left;gap:4px;padding:10px}.builder-draft-list small{color:#b9c9b6}@media(min-width:1400px){.guided-builder{--builder-catalog-width: 420px}.guided-builder .builder-header{height:96px}.guided-builder .builder-header button{min-height:56px;font-size:18px;padding-inline:18px}.guided-builder .builder-primary-actions>button{min-width:120px}.guided-builder .builder-hole-name{height:56px;font-size:19px}.guided-builder .builder-save-state{font-size:16px}.guided-builder .builder-catalog{top:96px}.guided-builder .builder-step-heading{min-height:58px;font-size:18px}.guided-builder .builder-panel-toggle{top:108px}.guided-builder .builder-theme-grid span{min-height:42px;font-size:17px}}@media(max-width:1180px){.guided-builder .builder-title-group{gap:8px;flex-wrap:wrap}.guided-builder .builder-hole-name{width:min(220px,20vw)}.guided-builder .builder-header .builder-history-controls button{min-width:40px;width:40px;padding:7px}.guided-builder .builder-header button{font-size:13px;padding:8px}}@media(max-width:700px){.guided-builder .builder-header{height:120px;display:grid;grid-template-columns:44px minmax(0,1fr);gap:4px 8px;padding:6px 10px}.guided-builder .builder-title-group{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px}.guided-builder .builder-hole-name{grid-column:1;grid-row:1;width:100%;height:44px;font-size:14px}.guided-builder .builder-save-state{grid-row:2;font-size:11px}.guided-builder .builder-history-controls{grid-column:2;grid-row:1;gap:3px}.guided-builder .builder-header .builder-history-controls button{min-width:44px;width:44px;height:44px}.guided-builder .builder-primary-actions{grid-column:1 / -1;display:flex;justify-content:space-between;gap:5px}.guided-builder .builder-header button{min-width:44px;min-height:44px;padding:8px}.guided-builder .builder-primary-actions>button span{display:none}.guided-builder .builder-objects-anchor>button{font-size:12px}.guided-builder .builder-objects-anchor>button>svg:last-child{display:none}.guided-builder .builder-objects-popup{left:0;right:auto;width:min(300px,calc(100vw - 24px))}.guided-builder .builder-catalog{top:120px}.guided-builder .builder-panel-toggle{top:132px}.guided-builder .builder-theme-grid{gap:8px;padding:8px}.guided-builder .builder-motion-popup{inset:auto 12px 12px;width:auto}}@media(max-width:1000px){.guided-builder .builder-header{padding:6px 10px;gap:8px}.guided-builder .builder-primary-actions{gap:6px}.guided-builder .builder-primary-actions button{min-width:64px;padding:7px;font-size:11px}.guided-builder .builder-title-group{gap:7px}.guided-builder .builder-history-controls button{width:38px;min-height:38px}}@media(max-width:700px){.guided-builder .builder-title-group h1{display:none}.guided-builder .builder-catalog{width:min(290px,72vw)}.guided-builder .builder-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.guided-builder .builder-library-item{min-height:80px}.guided-builder .builder-panel-toggle{left:min(300px,74vw)}.guided-builder .builder-camera-dock{left:10px;right:10px;max-width:calc(100% - 20px);font-size:10px;bottom:7px}.guided-builder .builder-camera-dock>span{display:block;white-space:normal;font-size:10px}.guided-builder .builder-camera-dock:not(:has(button)){display:none}}.guided-builder .builder-choose-theme{width:100%;margin-top:8px;padding:9px 12px;background:#274f6ad9;color:#f7edd4;border:1px solid rgba(176,212,223,.4);border-radius:7px;font-weight:700}.course-loading-cover{position:fixed;z-index:1100;display:grid;place-items:center;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1b3c2b,#091b14 75%);color:#f6edd5}.course-loading-cover[hidden]{display:none}.course-loading-content{width:min(470px,88%);text-align:center}.course-loading-wordmark{display:block;width:100%;overflow:visible}.course-loading-status{margin:8px 16px 24px;font-size:13px;letter-spacing:.055em;line-height:1.6;color:#bacbbb}.loading-putter{transform-origin:45px 42px;animation:loading-putt 3.6s ease-in-out infinite}.loading-ball{transform-box:fill-box;transform-origin:center;animation:loading-roll 3.6s linear infinite}.loading-cup-ripple{transform-box:fill-box;transform-origin:center;animation:loading-ripple 3.6s ease-out infinite}@keyframes loading-putt{0%,8%,76%,to{transform:rotate(0)}20%{transform:rotate(18deg)}29%,40%{transform:rotate(-9deg)}55%{transform:rotate(0)}}@keyframes loading-roll{0%,27%{transform:translate(0) rotate(0);opacity:1}32%{transform:translate(44px,-3px) rotate(95deg);opacity:1}60%{transform:translate(272px,6px) rotate(640deg);opacity:1}70%{transform:translate(307px,13px) rotate(760deg) scale(1);opacity:1}75%,96%{transform:translate(307px,17px) rotate(760deg) scale(.1);opacity:0}97%,to{transform:translate(0);opacity:0}}@keyframes loading-ripple{0%,69%,88%,to{opacity:0;transform:scale(.7)}74%{opacity:.75;transform:scale(1)}87%{opacity:0;transform:scale(1.5)}}.course-loading-cover.is-error .course-loading-wordmark{display:none}@media(prefers-reduced-motion:reduce){.loading-putter,.loading-ball,.loading-cup-ripple{animation:none}.loading-cup-ripple{display:none}}.course-loading-cover.is-reduced-motion .loading-putter,.course-loading-cover.is-reduced-motion .loading-ball,.course-loading-cover.is-reduced-motion .loading-cup-ripple{animation:none}.course-loading-cover.is-reduced-motion .loading-cup-ripple{display:none}.guided-builder .builder-decorate.golf-primary{width:100%;min-height:54px;padding:10px 12px;margin:0 0 12px;font-size:16px;line-height:1.2;color:#153e31;border:2px solid #ffe3a0;border-radius:8px;box-shadow:0 3px #77581c,inset 0 0 0 2px #b3842e;background:#f5c62b url(../assets/ui/golf-signs/ivory-paper.webp) center/640px;background-blend-mode:multiply}.guided-builder .builder-scale-control{position:absolute;top:24px;left:-230px;display:flex;align-items:center;gap:12px;width:212px;padding:18px 14px;border:1px solid #a8bba5;border-radius:10px;color:#fff9dd;background:#052c27f5;box-shadow:0 3px 10px #00170a80;pointer-events:auto}.guided-builder .builder-scale-control input{width:135px;accent-color:#7ee6d2}.guided-builder .builder-scale-control output{min-width:42px;font-variant-numeric:tabular-nums}
