*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --bg:#090b0f;--panel:#101319;--panel-2:#151922;--ink:#f4f2ec;--ink-2:#b8bdc6;--ink-3:#7d8490;
  --line:#272d37;--line-2:#3b4350;--teal:#48c5af;--violet:#9a82ee;--amber:#e6ad59;--red:#d86e65;
  --paper:#eee8dc;--paper-2:#f8f4ec;--paper-ink:#20201d;--script:'Caveat',cursive;
  --sans:'Space Grotesk',sans-serif;--serif:'Spectral',serif;--ease:cubic-bezier(.22,.78,.24,1)
}
html{scroll-behavior:smooth;background:var(--bg)}
body{min-height:100%;overflow-x:hidden;background:
  radial-gradient(70rem 40rem at 3% 8%,rgba(72,197,175,.07),transparent 58%),
  radial-gradient(56rem 36rem at 98% 22%,rgba(154,130,238,.06),transparent 62%),var(--bg);
  color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}
button,input,select,output{font:inherit}button,a{touch-action:manipulation}a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid var(--teal);outline-offset:3px}
button{cursor:pointer}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
[hidden]{display:none!important}
.skip-link{position:fixed;top:8px;left:8px;z-index:1000;padding:10px 14px;border-radius:8px;background:#fff;color:#05070d;transform:translateY(-150%)}.skip-link:focus{transform:none}

.apps-header{position:sticky;top:0;z-index:150;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:22px;min-height:66px;padding:8px max(18px,calc((100vw - 1580px)/2));border-bottom:1px solid rgba(255,255,255,.1);background:rgba(9,11,15,.9);backdrop-filter:blur(18px)}
.apps-brand{display:flex;align-items:baseline;gap:9px;text-decoration:none;white-space:nowrap}.apps-brand span{font-family:var(--script);font-size:32px;font-weight:700;line-height:1}.apps-brand small{color:var(--ink-3);font-size:9px;letter-spacing:1.6px;text-transform:uppercase}
.apps-nav{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0}.apps-nav a{padding:9px 13px;border:1px solid transparent;border-radius:999px;color:var(--ink-2);font-size:11px;font-weight:700;text-decoration:none;white-space:nowrap}.apps-nav a:hover{background:rgba(255,255,255,.05);color:#fff}.apps-nav a.is-active{border-color:var(--active-color,var(--teal));background:color-mix(in srgb,var(--active-color,var(--teal)) 10%,transparent);color:var(--active-color,var(--teal))}
.header-tray{display:flex;align-items:center;gap:7px;min-height:40px;padding:8px 12px;border:1px solid var(--line-2);border-radius:999px;background:#0d1016;color:var(--ink);font-size:10px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.header-tray span{display:grid;place-items:center;min-width:20px;height:20px;padding:0 4px;border-radius:50%;background:var(--teal);color:#06110e;font-size:9px}

main{width:min(1580px,calc(100% - 32px));margin:0 auto}.app-panel{padding:50px 0 76px}.panel-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:50px;align-items:end;padding:10px 0 34px;border-bottom:1px solid var(--line)}
.panel-heading h1,.field-guide-heading h1,.garden-heading h1{margin-top:10px;font-size:clamp(42px,5vw,76px);font-weight:600;line-height:.96;letter-spacing:-.045em}.panel-heading p,.garden-heading p{max-width:60ch;color:var(--ink-2);font-family:var(--serif);font-size:18px;font-style:italic;line-height:1.55}
.panel-kicker,.section-number{color:var(--ink-3);font-size:9px;font-weight:700;letter-spacing:2.1px;text-transform:uppercase}.panel-intro{display:flex;flex-direction:column;gap:16px}.truth-list{display:flex;flex-wrap:wrap;gap:7px;list-style:none}.truth-list li{padding:7px 10px;border:1px solid var(--line);border-radius:999px;color:var(--ink-2);font-size:9px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}

.studio-shell{display:grid;grid-template-columns:270px minmax(600px,1fr) 286px;gap:14px;margin-top:18px}.photo-tray,.object-panel,.composition-workspace{min-width:0;border:1px solid var(--line);background:rgba(15,18,24,.94)}.photo-tray,.object-panel{padding:16px}.composition-workspace{padding:16px 18px 20px}
.side-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line)}.side-heading>div{display:flex;align-items:baseline;gap:8px}.side-heading h2{font-size:15px;letter-spacing:-.02em}.side-heading>strong,.side-heading>span{color:var(--ink-3);font-size:9px;font-weight:600;text-align:right}
.search-field{display:block;margin:14px 0 9px}.search-field span{display:block;margin-bottom:6px;color:var(--ink-3);font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.search-field input{width:100%;height:42px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:#0b0e13;color:var(--ink);font-size:12px}.search-field input::placeholder{color:#626976}
.filter-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.filter-row button{min-height:36px;padding:5px;border:1px solid var(--line);border-radius:6px;background:#0b0e13;color:var(--ink-3);font-size:8px;font-weight:700;line-height:1.15}.filter-row button.is-active{border-color:var(--teal);color:var(--teal);background:rgba(72,197,175,.08)}
.tray-note{margin:10px 1px 12px;color:var(--ink-3);font-size:9px;line-height:1.5}.photo-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:760px;overflow-y:auto;padding-right:3px}.photo-asset{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:#0a0c10;color:var(--ink);text-align:left}.photo-asset:hover{border-color:var(--teal)}.photo-asset img{width:100%;aspect-ratio:1;object-fit:cover;background:#050608}.photo-asset span{display:block;padding:7px 7px 2px;overflow:hidden;font-size:9px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.photo-asset small{display:block;padding:0 7px 8px;color:var(--ink-3);font-size:7px;line-height:1.2}.photo-asset::after{content:'add';position:absolute;right:5px;top:5px;padding:4px 6px;border-radius:999px;background:rgba(5,7,9,.84);color:#fff;font-size:7px;font-weight:700;text-transform:uppercase}.photo-list-empty{grid-column:1/-1;padding:24px 8px;color:var(--ink-3);font-size:11px;text-align:center}

.project-bar{display:grid;grid-template-columns:minmax(200px,1fr) auto auto;gap:12px;align-items:end;padding-bottom:13px;border-bottom:1px solid var(--line)}.project-name span{display:block;margin-bottom:4px;color:var(--ink-3);font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.project-name input{width:100%;border:0;border-bottom:1px solid var(--line-2);background:transparent;color:var(--ink);font-size:17px;font-weight:600}.history-actions{display:flex;gap:5px}.history-actions button,.export-bar button,.file-button,.object-actions button,.label-maker button,.earth-cabinet>button{min-height:36px;padding:7px 10px;border:1px solid var(--line-2);border-radius:6px;background:#0b0e13;color:var(--ink-2);font-size:9px;font-weight:700}.history-actions button:disabled{opacity:.35;cursor:not-allowed}.save-state{padding-bottom:8px;color:var(--ink-3);font-size:8px;white-space:nowrap}
.box-setup{display:flex;align-items:flex-end;gap:16px;padding:14px 0 8px}.box-setup>div:first-child{margin-right:auto}.box-setup h2{margin-top:2px;font-size:14px}.box-setup>label,.custom-measurements label{color:var(--ink-3);font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.box-setup select,.custom-measurements input{display:block;height:34px;margin-top:4px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#0b0e13;color:var(--ink);font-size:10px}.custom-measurements{display:flex;gap:5px}.custom-measurements input{width:68px}.liner-picker{display:flex;align-items:center;gap:5px;border:0}.liner-picker legend{margin-bottom:4px;color:var(--ink-3);font-size:8px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.liner-swatch{width:28px;height:28px;border:2px solid transparent;border-radius:50%}.liner-swatch.is-active{border-color:var(--teal);box-shadow:0 0 0 2px #0d1015 inset}.liner-night{background:#101114}.liner-sand{background:#c9b28d}.liner-moss{background:#304238}.liner-clay{background:#6e493f}.custom-color{display:block;position:relative;width:28px;height:28px;overflow:hidden;border-radius:50%}.custom-color span{position:absolute;width:1px;height:1px;overflow:hidden}.custom-color input{width:42px;height:42px;margin:-7px;border:0}.guide-toggle{display:flex;align-items:center;gap:5px;min-height:34px;white-space:nowrap}.measurement-note{margin-bottom:10px;color:var(--ink-3);font-size:9px;line-height:1.45}
.canvas-stage{position:relative;width:100%;aspect-ratio:var(--box-ratio);min-height:360px;padding:24px;border:1px solid #40362b;background:linear-gradient(135deg,#7c654b,#3b3026);box-shadow:inset 0 0 0 8px rgba(25,20,15,.35),0 18px 45px rgba(0,0,0,.28)}.canvas-stage::before{content:'';position:absolute;inset:11px;border:1px solid rgba(255,236,204,.18);pointer-events:none}.canvas-stage>.canvas-container{position:absolute!important;inset:24px!important;width:auto!important;height:auto!important}.canvas-stage canvas{width:100%!important;height:100%!important}.canvas-stage .lower-canvas,.canvas-stage .upper-canvas{border-radius:3px}.canvas-guides{position:absolute;inset:24px;z-index:8;pointer-events:none;background:linear-gradient(90deg,transparent calc(33.333% - .5px),rgba(255,255,255,.22) 33.333%,transparent calc(33.333% + .5px),transparent calc(66.666% - .5px),rgba(255,255,255,.22) 66.666%,transparent calc(66.666% + .5px)),linear-gradient(transparent calc(50% - .5px),rgba(255,255,255,.22) 50%,transparent calc(50% + .5px))}.empty-canvas-message{position:absolute;left:50%;top:50%;z-index:7;display:flex;flex-direction:column;gap:5px;max-width:30ch;padding:12px 16px;border-radius:8px;background:rgba(5,7,9,.64);color:#fff;text-align:center;transform:translate(-50%,-50%);pointer-events:none}.empty-canvas-message strong{font-size:15px}.empty-canvas-message span{font-size:9px;line-height:1.4}.canvas-footer{display:flex;justify-content:space-between;gap:20px;padding:8px 1px 0;color:var(--ink-3);font-size:8px}.export-bar{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.export-bar .primary-action{border-color:var(--teal);background:var(--teal);color:#06110e}.file-button{display:inline-flex;align-items:center;cursor:pointer}.file-button input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0}.quiet-danger{color:#dc8e87!important}.action-status{min-height:18px;padding-top:7px;color:var(--teal);font-size:9px}

.selection-empty{padding:18px 4px;color:var(--ink-3);font-size:10px;line-height:1.55}.selected-object{display:grid;grid-template-columns:54px 1fr;gap:10px;align-items:center;padding:13px 0}.selected-object img{width:54px;height:54px;border:1px solid var(--line);border-radius:7px;object-fit:cover}.selected-object strong,.selected-object span{display:block}.selected-object strong{font-size:12px}.selected-object span{margin-top:3px;color:var(--ink-3);font-size:8px}.transform-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.transform-grid label{position:relative;color:var(--ink-3);font-size:8px;font-weight:700;text-transform:uppercase}.transform-grid input[type=number]{width:100%;height:36px;margin-top:4px;padding:0 20px 0 8px;border:1px solid var(--line);border-radius:5px;background:#0b0e13;color:var(--ink);font-size:10px}.transform-grid label>span{position:absolute;right:7px;bottom:10px;color:var(--ink-3)}.opacity-control{grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:7px}.opacity-control input{grid-column:1/-1;width:100%}.opacity-control output{font-size:8px}.object-actions{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:9px}.object-actions .quiet-danger{grid-column:1/-1}.label-maker{margin:16px 0;padding:13px 0;border-block:1px solid var(--line)}.label-maker h3,.layers-heading h3{font-size:11px}.label-maker>div{display:grid;grid-template-columns:1fr auto;gap:5px;margin-top:8px}.label-maker input{min-width:0;height:36px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#0b0e13;color:var(--ink);font-size:9px}.layers-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:7px}.layers-heading span{color:var(--ink-3);font-size:7px}.layers-list{display:flex;flex-direction:column-reverse;gap:4px;max-height:430px;overflow-y:auto;list-style:none;counter-reset:layer}.layer-row{display:grid;grid-template-columns:26px minmax(0,1fr) auto;align-items:center;gap:6px;min-height:38px;padding:4px 5px;border:1px solid var(--line);border-radius:5px;background:#0b0e13}.layer-row.is-selected{border-color:var(--teal);background:rgba(72,197,175,.07)}.layer-row button{border:0;background:transparent;color:var(--ink-2)}.layer-select{overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.layer-kind{display:grid;place-items:center;width:26px;height:26px;border-radius:4px;background:#1d222c;color:var(--ink-3);font-size:8px}.layer-controls{display:flex}.layer-controls button{width:25px;height:28px;font-size:10px}.keyboard-help{margin-top:9px;color:var(--ink-3);font-size:8px;line-height:1.5}.keyboard-help summary{min-height:34px;padding:9px 0;cursor:pointer}.keyboard-help p{padding:2px 0 8px}

.luster-panel{margin-top:24px;padding:52px clamp(20px,4vw,66px) 70px;border-radius:4px;background:var(--paper);color:var(--paper-ink);box-shadow:0 28px 80px rgba(0,0,0,.32)}.luster-panel .panel-kicker,.luster-panel .section-number{color:#7d7468}.field-guide-heading{max-width:1080px;padding-bottom:34px;border-bottom:1px solid #cfc6b8}.field-guide-heading h1{font-size:clamp(54px,7vw,108px)}.field-guide-heading p{max-width:50ch;margin-top:17px;font-family:var(--serif);font-size:clamp(18px,2vw,24px);font-style:italic;line-height:1.5}
.observation-brief{display:grid;grid-template-columns:220px minmax(360px,1fr) minmax(230px,.7fr);gap:40px;padding:34px 0;border-bottom:1px solid #cfc6b8}.observation-brief>div{display:flex;gap:10px;align-items:baseline}.observation-brief h2{font-size:22px;letter-spacing:-.03em}.observation-brief ol{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding-left:20px;font-family:var(--serif);font-size:15px;line-height:1.5}.observation-brief>p{color:#6e675d;font-size:11px;line-height:1.6}
.luster-observation{padding:36px 0}.luster-observation fieldset{border:0}.luster-fieldset legend,.surface-fieldset legend{display:flex;gap:10px;align-items:baseline;font-size:22px;font-weight:600;letter-spacing:-.03em}.fieldset-intro{max-width:74ch;margin:10px 0 17px;color:#665f56;font-family:var(--serif);font-size:14px;line-height:1.55}.luster-card-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.luster-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #c8bfb2;border-radius:4px;background:var(--paper-2);cursor:pointer;transition:border-color .18s ease,transform .18s ease}.luster-card:hover{border-color:#776f64;transform:translateY(-2px)}.luster-card:has(input:checked){border-color:#27241f;box-shadow:0 0 0 2px #27241f}.luster-card>input{position:absolute;left:8px;top:8px;width:1px;height:1px;opacity:0}.luster-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#d8d2c8}.card-check{position:absolute;right:8px;top:8px;z-index:2;display:none;place-items:center;width:25px;height:25px;border-radius:50%;background:#1f211c;color:#fff;font-size:12px}.luster-card:has(input:checked) .card-check{display:grid}.luster-card-copy{display:flex;flex:1;flex-direction:column;padding:13px}.luster-card-copy strong{font-size:20px;line-height:1}.luster-card-copy b{margin-top:5px;color:#736b61;font-size:9px;letter-spacing:1px;text-transform:uppercase}.luster-card-copy>span{margin-top:12px;font-family:var(--serif);font-size:12px;line-height:1.55}.luster-card-copy small{margin-top:auto;padding-top:12px;color:#6f685e;font-size:9px;line-height:1.45}.view-photo{min-height:38px;border:0;border-top:1px solid #d6cec2;background:transparent;color:#5c554c;font-size:8px;font-weight:700;text-align:left;padding:0 13px;text-transform:uppercase}.view-photo:hover{text-decoration:underline}.unsure-card{grid-column:auto;background:#ded7ca}.unsure-mark{display:grid;place-items:center;aspect-ratio:4/3;background:#d1c8ba;color:#80766a;font-family:var(--serif);font-size:60px;font-style:italic}.surface-fieldset{margin:30px 0 16px}.surface-options{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.surface-options label{display:flex;align-items:center;gap:7px;min-height:42px;padding:8px 13px;border:1px solid #c8bfb2;border-radius:999px;background:#f7f2e9;font-size:10px;font-weight:600;cursor:pointer}.surface-options label:has(input:checked){border-color:#28251f;background:#28251f;color:#fff}.luster-observation>.primary-action{min-height:44px;margin-top:4px;padding:0 18px;border:1px solid #292621;border-radius:4px;background:#292621;color:#fff;font-weight:700}.observation-status{display:inline-block;margin-left:12px;color:#6c645b;font-size:10px}
.mixups{display:grid;grid-template-columns:220px 1fr minmax(220px,.7fr);gap:40px;padding:28px 0;border-block:1px solid #cfc6b8}.mixups>div:first-child{display:flex;align-items:baseline;gap:10px}.mixups h2{font-size:19px}.mixups p{font-family:var(--serif);font-size:13px;line-height:1.55}.mixups>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:22px}.mixups>p{color:#6e675d;font-size:10px}
.mineral-compare{padding:34px 0}.compare-intro{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;max-width:760px}.compare-intro h2{font-size:24px}.compare-intro p{margin-top:5px;color:#665f56;font-family:var(--serif);font-size:14px;line-height:1.5}.mineral-compare form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:8px;align-items:end;margin-top:20px}.mineral-compare label,.gravity-content label{color:#6d655a;font-size:8px;font-weight:700;letter-spacing:.7px;text-transform:uppercase}.mineral-compare select,.gravity-content input{display:block;width:100%;height:44px;margin-top:5px;padding:0 10px;border:1px solid #c9c0b4;border-radius:4px;background:#fbf8f1;color:#24211e;font-size:10px}.mineral-compare button,.gravity-content button{min-height:44px;padding:0 15px;border:1px solid #28251f;border-radius:4px;background:#28251f;color:#fff;font-size:10px;font-weight:700}.id-results{margin-top:14px}.id-results>p{color:#736b61;font-size:10px}.id-result{display:grid;grid-template-columns:minmax(150px,.6fr) 80px 1fr;gap:15px;align-items:center;min-height:52px;padding:9px 12px;border-top:1px solid #d2c9bc}.id-result strong{font-size:13px}.id-result b{font-size:11px}.id-result span{color:#6c645a;font-family:var(--serif);font-size:11px;line-height:1.4}
.gravity-details{border-block:1px solid #cfc6b8}.gravity-details summary{display:flex;align-items:center;gap:14px;min-height:78px;cursor:pointer;list-style:none}.gravity-details summary::-webkit-details-marker{display:none}.gravity-details summary>span:last-child{display:flex;flex-direction:column}.gravity-details summary strong{font-size:17px}.gravity-details summary small{margin-top:3px;color:#71695f;font-size:9px}.gravity-details summary::after{content:'+';margin-left:auto;font-size:24px}.gravity-details[open] summary::after{content:'−'}.gravity-content{display:grid;grid-template-columns:1.1fr 1fr .6fr;gap:22px;padding:0 0 30px}.gravity-content>div:first-child p{font-family:var(--serif);font-size:13px;line-height:1.55}.gravity-content code{display:block;margin-top:11px;padding:10px;background:#ded6c9;font-size:10px}.gravity-content form{display:grid;grid-template-columns:1fr 1fr;gap:8px}.gravity-content form button{grid-column:1/-1}.gravity-content label{position:relative}.gravity-content label span{position:absolute;right:9px;bottom:14px}.gravity-result{display:flex;flex-direction:column;justify-content:center;padding:14px;border:1px solid #c9c0b4;background:#f7f2e9}.gravity-result span{color:#746c62;font-size:8px;text-transform:uppercase}.gravity-result strong{font-size:38px}.gravity-result small{font-size:9px}.safety-note{grid-column:1/-1;color:#746c62;font-size:9px;line-height:1.5}.field-guide-sources{max-width:900px;padding-top:30px}.field-guide-sources h2{font-size:14px}.field-guide-sources p{margin-top:7px;color:#665f56;font-size:10px;line-height:1.6}.field-guide-sources a{text-decoration-thickness:1px;text-underline-offset:2px}
.photo-dialog{width:min(980px,calc(100% - 30px));max-height:92vh;margin:auto;padding:0;border:1px solid #504a42;background:#171612;color:#fff;box-shadow:0 30px 100px #000}.photo-dialog::backdrop{background:rgba(0,0,0,.84)}.photo-dialog img{display:block;width:100%;max-height:75vh;object-fit:contain;background:#090909}.photo-dialog>div{padding:15px 18px}.photo-dialog strong{font-size:15px}.photo-dialog p{margin-top:4px;color:#bbb3a8;font-size:9px;line-height:1.45}.dialog-close{position:absolute;right:10px;top:10px;z-index:2;width:40px;height:40px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.75);color:#fff;font-size:24px}

.garden-heading{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.55fr);gap:50px;align-items:end;padding:8px 0 30px}.garden-heading h1 em{display:block;font-family:var(--script);font-size:.86em;font-weight:700;color:var(--amber)}.garden-heading>div:last-child{display:flex;flex-direction:column;gap:9px}.garden-heading>div:last-child span{color:var(--ink-3);font-size:9px;font-weight:700;letter-spacing:.8px;text-transform:uppercase}
.game-frame{overflow:hidden;border:1px solid #343945;background:#080a0d;box-shadow:0 28px 80px rgba(0,0,0,.42)}.game-topbar{display:grid;grid-template-columns:150px minmax(300px,1fr) auto;gap:18px;align-items:center;min-height:66px;padding:9px 13px;border-bottom:1px solid #2e333d;background:#11151b}.game-topbar>div:first-child span,.game-topbar>div:first-child strong{display:block}.game-topbar>div:first-child span{color:var(--amber);font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.game-topbar>div:first-child strong{margin-top:3px;font-size:12px}.objective-ribbon{padding:7px 11px;border-left:2px solid var(--amber);background:#0b0e13}.objective-ribbon span{display:block;color:#7f8793;font-size:7px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.objective-ribbon strong{display:block;margin-top:3px;font-size:10px}.game-settings{display:flex;gap:5px}.game-settings button{min-height:34px;padding:0 9px;border:1px solid #343b47;border-radius:5px;background:#0b0e13;color:#9fa7b4;font-size:8px;font-weight:700}.game-settings button[aria-pressed=true]{border-color:var(--amber);color:var(--amber)}
.game-viewport{position:relative;aspect-ratio:16/9;overflow:hidden;background:#111822}.game-mount{position:absolute;inset:0}.game-mount canvas{display:block;width:100%!important;height:100%!important;image-rendering:pixelated;image-rendering:crisp-edges}.game-curtain{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;background:linear-gradient(rgba(5,9,11,.6),rgba(5,7,9,.88)),radial-gradient(circle at 50% 40%,rgba(154,130,238,.27),transparent 45%);text-align:center}.game-curtain>span{color:var(--amber);font-family:var(--script);font-size:25px}.game-curtain h2{max-width:18ch;margin-top:6px;font-size:clamp(25px,3vw,48px);line-height:1.02;letter-spacing:-.035em}.game-curtain p{max-width:58ch;margin-top:13px;color:#b9c0ca;font-family:var(--serif);font-size:14px;font-style:italic;line-height:1.55}.game-curtain button{min-height:44px;margin-top:19px;padding:0 18px;border:1px solid var(--amber);border-radius:4px;background:var(--amber);color:#1a1207;font-weight:700}.game-curtain small{margin-top:11px;color:#747d89;font-size:8px;text-transform:uppercase;letter-spacing:1px}
.context-action{position:absolute;right:14px;bottom:14px;z-index:7;display:flex;align-items:center;gap:8px;min-width:160px;padding:8px 10px;border:1px solid rgba(255,255,255,.24);border-radius:7px;background:rgba(7,9,13,.9);backdrop-filter:blur(8px)}.context-action kbd{display:grid;place-items:center;width:30px;height:30px;border:1px solid #5c6472;border-bottom-width:3px;border-radius:5px;color:var(--amber);font:700 11px var(--sans)}.context-action strong,.context-action small{display:block}.context-action strong{font-size:10px}.context-action small{margin-top:2px;color:#8d96a4;font-size:8px}.game-dialogue{position:absolute;left:50%;bottom:16px;z-index:9;display:grid;grid-template-columns:56px 1fr auto;gap:12px;align-items:center;width:min(680px,calc(100% - 32px));padding:12px;border:2px solid #d3a85f;border-radius:5px;background:#151218;color:#f8f3e9;box-shadow:0 10px 40px rgba(0,0,0,.5);transform:translateX(-50%)}.dialogue-portrait{width:56px;height:56px;background-image:url('../img/game/sable-walk.png');background-position:0 0;background-size:224px 224px;image-rendering:pixelated;transform:scale(1.02)}.game-dialogue span{color:var(--amber);font-size:8px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.game-dialogue p{margin-top:4px;font-family:var(--serif);font-size:13px;line-height:1.4}.game-dialogue button{min-height:36px;padding:0 11px;border:1px solid #57505c;border-radius:4px;background:#0b0a0d;color:#fff;font-size:8px;font-weight:700}
.touch-pad{display:none}.toolbelt{display:flex;align-items:stretch;justify-content:center;gap:5px;min-height:74px;padding:9px;border-top:1px solid #2e333d;background:#11151b}.toolbelt button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;min-width:126px;padding:6px 9px;border:1px solid #343b47;border-radius:6px;background:#0b0e13;color:#a9b0ba;text-align:left}.toolbelt button.is-active{border-color:var(--amber);background:#1b1710;color:#fff;box-shadow:0 0 0 1px rgba(230,173,89,.22) inset}.toolbelt img,.tool-glyph{display:grid;place-items:center;width:28px;height:28px;object-fit:contain;image-rendering:pixelated;font-size:22px}.toolbelt span span{font-size:8px}.toolbelt b{display:inline-block;margin-right:5px;color:#6f7885;font-size:7px}.toolbelt i{margin-left:4px;color:var(--amber);font-style:normal}.garden-lower{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.field-journal,.earth-cabinet{min-height:260px;padding:20px;border:1px solid var(--line);background:rgba(15,18,24,.94)}.field-journal>div:first-child{display:flex;align-items:baseline;gap:12px}.field-journal h2,.earth-cabinet h2{font-size:22px;letter-spacing:-.03em}.field-journal ol{display:grid;gap:8px;margin:17px 0 18px;padding-left:20px;color:var(--ink-2);font-family:var(--serif);font-size:12px;line-height:1.45}.save-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:13px;border-top:1px solid var(--line)}.save-row span{color:var(--ink-3);font-size:8px}.save-row button{min-height:34px;padding:0 9px;border:1px solid var(--line);border-radius:5px;background:#0b0e13;font-size:8px}.earth-cabinet h2{margin-top:5px}.earth-cabinet>p{max-width:62ch;margin-top:7px;color:var(--ink-2);font-size:10px;line-height:1.5}.earth-cabinet-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;margin:14px 0}.museum-preview{overflow:hidden;border:1px solid var(--line);border-radius:5px;background:#0a0c10}.museum-preview img{width:100%;aspect-ratio:1;object-fit:cover}.museum-preview span{display:block;padding:6px;overflow:hidden;color:var(--ink-2);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.museum-empty{grid-column:1/-1;padding:20px;border:1px dashed var(--line);color:var(--ink-3);font-size:9px;text-align:center}.game-credits{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:22px 2px 0;color:var(--ink-3)}.game-credits span{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase}.game-credits p{max-width:90ch;font-size:9px;line-height:1.55}.game-credits a{color:var(--ink-2)}

.roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}.roadmap-grid article{min-height:220px;padding:22px;border:1px solid var(--line);background:rgba(15,18,24,.9)}.roadmap-grid span{color:var(--ink-3);font-size:8px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.roadmap-grid h2{margin-top:26px;font-size:24px}.roadmap-grid p{margin-top:9px;color:var(--ink-2);font-family:var(--serif);font-size:13px;line-height:1.5}
.apps-footer{display:flex;justify-content:space-between;gap:20px;width:min(1580px,calc(100% - 32px));margin:0 auto;padding:22px 0 36px;border-top:1px solid var(--line);color:var(--ink-3);font-size:9px}.apps-footer a{color:var(--ink-2);text-decoration:none}.noscript{position:fixed;left:12px;right:12px;bottom:12px;z-index:500;padding:13px;background:#fff;color:#111;text-align:center}

@media(max-width:1280px){
  .studio-shell{grid-template-columns:250px minmax(560px,1fr)}.object-panel{grid-column:1/-1;display:grid;grid-template-columns:260px 1fr;gap:18px}.object-panel>.side-heading{grid-column:1/-1}.label-maker{margin:0;border-block:0}.layers-heading,.layers-list,.keyboard-help{grid-column:2}.layers-heading{grid-row:2}.layers-list{grid-row:3/7}.keyboard-help{grid-row:7}.selection-empty,.selection-controls{grid-column:1}.object-actions{margin-bottom:12px}
  .luster-card-grid{grid-template-columns:repeat(3,1fr)}.unsure-card{grid-column:3}.roadmap-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:980px){
  .apps-header{grid-template-columns:1fr auto}.apps-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;overflow-x:auto;padding-bottom:4px}.header-tray{grid-column:2;grid-row:1}.apps-header{gap:5px 14px}.panel-heading,.garden-heading{grid-template-columns:1fr;gap:20px}.studio-shell{grid-template-columns:1fr}.photo-tray{order:2}.composition-workspace{order:1}.object-panel{order:3}.photo-list{grid-template-columns:repeat(5,1fr);max-height:none}.box-setup{flex-wrap:wrap}.box-setup>div:first-child{width:100%}.canvas-stage{min-height:320px}
  .observation-brief,.mixups{grid-template-columns:1fr 1fr}.observation-brief>p,.mixups>p{grid-column:1/-1}.luster-card-grid{grid-template-columns:repeat(2,1fr)}.unsure-card{grid-column:auto}.mineral-compare form{grid-template-columns:1fr 1fr}.mineral-compare button{grid-column:1/-1}.gravity-content{grid-template-columns:1fr 1fr}.gravity-result{grid-column:1/-1}.game-topbar{grid-template-columns:120px 1fr}.game-settings{grid-column:1/-1;justify-content:flex-end}.toolbelt{overflow-x:auto;justify-content:flex-start}.garden-lower{grid-template-columns:1fr}.game-credits{grid-template-columns:1fr}.roadmap-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  main{width:min(100% - 20px,1580px)}.app-panel{padding:30px 0 50px}.apps-brand small{display:none}.apps-nav a{padding:8px 11px}.header-tray{font-size:0}.header-tray::before{content:'tray';font-size:9px}.panel-heading h1,.garden-heading h1{font-size:42px}.panel-heading p,.garden-heading p{font-size:16px}.truth-list{display:grid}.composition-workspace,.photo-tray,.object-panel{padding:12px}.project-bar{grid-template-columns:1fr auto}.save-state{grid-column:1/-1}.custom-measurements{width:100%}.canvas-stage{min-height:240px;padding:14px}.canvas-stage>.canvas-container,.canvas-guides{inset:14px!important}.canvas-footer{flex-direction:column;gap:3px}.export-bar{display:grid;grid-template-columns:1fr 1fr}.export-bar>*{justify-content:center}.photo-list{grid-template-columns:repeat(3,1fr)}.object-panel{display:block}.label-maker{margin:15px 0;border-block:1px solid var(--line)}.layers-heading,.layers-list,.keyboard-help{display:flex}.layers-heading{margin-top:12px}.layers-list{flex-direction:column-reverse}
  .luster-panel{width:calc(100% + 20px);margin-left:-10px;padding:36px 14px 50px}.field-guide-heading h1{font-size:52px}.observation-brief,.mixups{grid-template-columns:1fr;gap:18px}.observation-brief>p,.mixups>p{grid-column:auto}.observation-brief ol{grid-template-columns:1fr}.mixups>div:nth-child(2){grid-template-columns:1fr}.luster-card-grid{grid-template-columns:1fr}.luster-card{display:grid;grid-template-columns:42% 1fr}.luster-card>img,.unsure-mark{grid-row:1/3;aspect-ratio:auto;height:100%;min-height:210px}.luster-card-copy{grid-column:2}.view-photo{grid-column:2}.surface-options{display:grid;grid-template-columns:1fr 1fr}.observation-status{display:block;margin:10px 0 0}.mineral-compare form,.gravity-content,.gravity-content form{grid-template-columns:1fr}.gravity-content form button,.gravity-result{grid-column:1}.id-result{grid-template-columns:1fr auto}.id-result span{grid-column:1/-1}
  .game-topbar{grid-template-columns:1fr}.objective-ribbon{grid-row:1}.game-topbar>div:first-child{display:none}.game-settings{grid-row:2;justify-content:flex-start}.game-viewport{aspect-ratio:4/5}.game-curtain h2{font-size:31px}.game-dialogue{grid-template-columns:42px 1fr}.dialogue-portrait{width:42px;height:42px;background-size:168px}.game-dialogue button{grid-column:2}.context-action{right:8px;bottom:86px}.touch-pad{position:absolute;inset:auto 8px 8px;z-index:8;display:grid;grid-template-columns:repeat(4,46px) 58px;justify-content:space-between;gap:5px;pointer-events:none}.touch-pad button{width:46px;height:46px;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(8,10,14,.78);color:#fff;font-weight:700;pointer-events:auto;touch-action:none}.touch-pad .touch-action{width:58px;border-color:var(--amber);color:var(--amber)}.toolbelt{min-height:64px}.toolbelt button{grid-template-columns:24px 1fr;min-width:104px;padding:5px 7px}.toolbelt img,.tool-glyph{width:23px;height:23px}.earth-cabinet-grid{grid-template-columns:repeat(3,1fr)}.roadmap-grid{grid-template-columns:1fr}.apps-footer{width:calc(100% - 20px);flex-direction:column}
}
@media(max-width:430px){.surface-options{grid-template-columns:1fr}.photo-list{grid-template-columns:repeat(2,1fr)}.filter-row{grid-template-columns:1fr}.export-bar{grid-template-columns:1fr}.game-curtain{padding:20px}.game-curtain p{font-size:12px}.touch-pad{grid-template-columns:repeat(4,42px) 54px}.touch-pad button{width:42px;height:42px}.touch-pad .touch-action{width:54px}.toolbelt button{min-width:96px}.roadmap-grid article{min-height:180px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.luster-card{transition:none}}

/* The photograph action is separate from the radio label so both controls remain semantic. */
.luster-choice{position:relative;display:flex;flex:1;flex-direction:column;cursor:pointer}
.luster-choice>input{position:absolute;left:8px;top:8px;width:1px;height:1px;opacity:0}
.luster-choice>img{width:100%;aspect-ratio:4/3;object-fit:cover;background:#d8d2c8}
.luster-card:has(input:focus-visible){outline:3px solid #477f77;outline-offset:3px}
.recorded-clue{margin-top:9px!important;color:#3d6d66!important;font-family:var(--sans)!important;font-size:10px!important;font-style:normal!important;font-weight:700}
.id-result-list{margin-top:8px;padding:0;list-style:none}
.photo-dialog [data-dialog-credit] a{color:#e7d09f;text-underline-offset:2px}
.canvas-stage{--box-ratio:1.333333;aspect-ratio:auto;min-height:0}
.canvas-stage>.canvas-container{position:relative!important;inset:auto!important;width:100%!important;height:auto!important;aspect-ratio:var(--box-ratio)}
.selection-controls button:disabled,.selection-controls input:disabled{opacity:.4;cursor:not-allowed}
.opacity-control label{display:grid;gap:7px}.opacity-control label input{width:100%}
.file-button:has(input:focus-visible),.custom-color:has(input:focus-visible){outline:2px solid var(--teal);outline-offset:3px}
.game-mount{display:flex;align-items:center;justify-content:center}
.game-mount canvas{width:100%!important;height:auto!important;max-height:100%;aspect-ratio:16/9}
.apps-page .cart-pebble{display:none}
.game-mount:focus-visible{outline:2px solid rgba(230,173,89,.9);outline-offset:-3px}
@media(max-width:700px){
  .luster-card{display:flex;grid-template-columns:none}
  .luster-choice{display:grid;grid-template-columns:42% 1fr}
  .luster-choice>img,.luster-choice>.unsure-mark{grid-row:1;aspect-ratio:auto;height:100%;min-height:210px}
  .view-photo{grid-column:auto;margin-left:42%}
  .game-mount{align-items:flex-start}
  .game-viewport{aspect-ratio:16/12}
  .objective-ribbon strong{font-size:11px;line-height:1.35}
  .header-tray{font-size:9px}
  .header-tray::before{content:none}
}
@media(max-width:980px){.object-panel{order:2}.photo-tray{order:3}}
@media(pointer:coarse){
  .game-viewport{aspect-ratio:16/12}
  .game-mount{align-items:flex-start}
  .touch-pad{position:absolute;inset:auto 8px 8px;z-index:8;display:grid;grid-template-columns:repeat(4,46px) 58px;justify-content:space-between;gap:5px;pointer-events:none}
  .touch-pad button{width:46px;height:46px;border:1px solid rgba(255,255,255,.26);border-radius:50%;background:rgba(8,10,14,.78);color:#fff;font-weight:700;pointer-events:auto;touch-action:none}
  .touch-pad .touch-action{width:58px;border-color:var(--amber);color:var(--amber)}
  .context-action{bottom:68px}
}
@media(max-width:700px){.apps-header{position:relative}}
.toolbelt button>span:last-child{font-size:8px;line-height:1.15}
@media(max-width:700px){
  .context-action{right:8px;bottom:76px;min-width:130px;max-width:150px;gap:6px;padding:6px 8px}
  .context-action kbd{width:26px;height:26px}
  .context-action strong{font-size:9px}
  .context-action small{font-size:7px}
}
@media(max-width:430px){
  .toolbelt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;overflow:visible;padding:6px}
  .toolbelt button{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:2px;padding:4px 2px;text-align:center}
  .toolbelt img,.tool-glyph{width:20px;height:20px;font-size:18px}
  .toolbelt button{color:#c7ccd4}
  .toolbelt button>span:last-child{font-size:8px;line-height:1.05}
  .toolbelt b{color:#9da5b0}
  .toolbelt b{margin-right:3px}
}
