:root{--ink:#29323a;--muted:#65727d;--shell:#ffe3ef;--shell-edge:#ffc4dc;--shell-glow:#fff7fb;--screen:#eaf7ff;--screen-dot:#c2d3de;--bezel:#7fdcff;--bezel-dark:#54c8ff;--accent:#ff75b0;--focus:#164fce;font-family:Inter,ui-rounded,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:#ffe6f0}
*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-height:100vh;margin:0;padding:clamp(12px,4vw,42px);background:radial-gradient(circle at 10% 0,#fff8fb 0,#ffeaf2 38%,#ffd9e8 100%);display:grid;place-items:center}button,input,select{font:inherit}.skip-link{position:fixed;left:12px;top:8px;z-index:1000;transform:translateY(-150%);background:#fff;padding:10px;border-radius:8px}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.device{--shell:#ffe3ef;--shell-edge:#ffc4dc;--shell-glow:#fff7fb;--accent:#ff75b0;position:relative;width:min(100%,1080px);padding:42px clamp(16px,3vw,32px) 70px;border:3px solid var(--shell-edge);border-radius:48% 48% 42% 42%/20% 20% 12% 12%;background:radial-gradient(circle at 15% 5%,var(--shell-glow),transparent 24%),var(--shell);box-shadow:0 28px 60px #913c6230,inset 0 10px 22px #ffffffaa,inset 0 -14px 24px #0000000d}.device.water{--shell:#e6f5ff;--shell-edge:#b9dfff;--shell-glow:#f7fcff;--accent:#5fb7ff}.device.sky{--shell:#efe6ff;--shell-edge:#d4c1ff;--shell-glow:#fcf9ff;--accent:#b284ff}.device.forest{--shell:#eaf9f0;--shell-edge:#bde8ce;--shell-glow:#f8fdf9;--accent:#7cd78e}.loop{position:absolute;top:-42px;left:50%;width:92px;height:56px;transform:translateX(-50%);border:7px solid var(--shell-edge);border-bottom:0;border-radius:50px 50px 0 0;background:#ffffff66}.masthead{height:52px;display:flex;align-items:center;justify-content:center;gap:14px}.masthead h1{margin:0;font:clamp(25px,4vw,40px)/1 "VT323",monospace;letter-spacing:.03em}.screen-shell{width:min(94%,920px);margin:18px auto 0;padding:10px;border:2px solid #319edf;border-radius:28px;background:linear-gradient(var(--bezel),var(--bezel-dark));box-shadow:inset 0 4px 10px #ffffff88,inset 0 -8px 12px #00000012}.screen{position:relative;min-height:620px;border:1px solid #b7ddf4;border-radius:20px;background:radial-gradient(circle at 50% -10%,#fff,#ffffff00 46%),radial-gradient(var(--screen-dot) .8px,transparent .8px),var(--screen);background-size:auto,7px 7px,auto;overflow:hidden}.screen:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(#0000 0 3px,#31424d08 3px 4px)}.screen-content{position:relative;z-index:1;min-height:620px;padding:clamp(18px,3vw,34px);display:grid;gap:18px}.ribbon{height:7px;border-radius:20px;background:var(--accent)}.eyebrow{margin:0;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.selectors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.selectors label,.owned-tools label{display:grid;gap:6px;font-weight:750}.selectors select,.owned-tools input,.owned-tools select{width:100%;min-height:46px;padding:8px 12px;border:1px solid #aacbde;border-radius:12px;background:#ffffffdd;color:var(--ink)}.perfect-hint{margin:0;padding:10px 12px;border-radius:10px;background:#fff8d8}.result{padding:clamp(14px,3vw,24px);border:1px solid #c5deeb;border-radius:20px;background:#ffffffa8;box-shadow:0 8px 20px #375b6d12;backdrop-filter:blur(4px)}.result-hero{display:flex;align-items:center;gap:16px;padding-bottom:18px}.pet{width:64px;height:64px;display:grid;place-items:center;border:1px solid #c2d8e4;border-radius:18px;background:#fff;font-size:34px}.result-label{display:block;color:var(--muted);font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.result-hero strong{display:block;margin-top:3px;font:clamp(29px,5vw,48px)/1 "VT323",monospace}.readouts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:0}.readouts div{min-width:0;padding:11px;border-radius:12px;background:#eff9ff}.readouts dt{color:var(--muted);font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}.readouts dd{margin:5px 0 0;font:21px/1.05 "VT323",monospace;overflow-wrap:anywhere}.actions{display:flex;flex-wrap:wrap;gap:9px}.button,.icon-button,.text-button{border:0;cursor:pointer}.button{min-height:46px;padding:10px 16px;border:1px solid #b5cbd7;border-radius:999px;background:#fff;color:var(--ink);font-weight:850;box-shadow:0 3px 0 #5a778735}.button:hover{transform:translateY(-1px)}.button:active{transform:translateY(2px);box-shadow:0 1px 0 #5a778735}.button.primary{border-color:#f38db3;background:linear-gradient(#ffc4d7,#ff9aba)}.button.secondary{border-color:#66d6b1;background:linear-gradient(#baf7e2,#83e9c6)}.button.compact{min-height:42px;padding-inline:13px}.utility{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:14px}.utility label{display:flex;align-items:center;gap:8px}.utility input{width:20px;height:20px}.history{border-top:1px dashed #aac5d4;padding-top:12px}.history summary{cursor:pointer;font-weight:850}.table-wrap{max-height:250px;margin-top:10px;overflow:auto;border:1px solid #c7dce7;border-radius:12px;background:#ffffffb8}.history table{width:100%;border-collapse:collapse;font-size:13px}.history th,.history td{padding:9px;text-align:left;border-bottom:1px solid #dce9f0;white-space:nowrap}.history th{position:sticky;top:0;background:#eaf7ff}.future{display:grid;grid-template-columns:1fr auto;gap:5px 18px;padding:16px;border:1px dashed #9dbdca;border-radius:16px;background:#ffffff75}.future h2{margin:3px 0 0;font:28px/1 "VT323",monospace}.future p:last-child{grid-column:1/-1;margin:4px 0 0;color:var(--muted)}.future-biomes{display:flex;gap:8px;align-items:center}.future-biomes span{padding:7px 10px;border-radius:999px;background:#fff;font-weight:800}footer{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px 14px;color:var(--muted);font-size:12px;text-align:center}footer p{margin:0}.text-button{padding:0;background:transparent;color:#165e97;text-decoration:underline}.hardware-buttons{position:absolute;left:50%;bottom:19px;display:flex;gap:18px;transform:translateX(-50%)}.hardware-buttons i{width:30px;height:30px;border:2px solid #bbb;border-radius:50%;background:radial-gradient(circle at 40% 30%,#fff,#d5d5d5);box-shadow:0 4px 0 #0002}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:14px}.modal-backdrop{position:absolute;inset:0;background:#17212ac0;backdrop-filter:blur(3px)}.modal-panel{position:relative;width:min(760px,100%);max-height:min(820px,92vh);overflow:auto;padding:22px;border-radius:22px;background:#f7fcff;box-shadow:0 28px 70px #0006}.modal-panel>header{display:flex;justify-content:space-between;gap:16px}.modal-panel h2{margin:4px 0 0}.icon-button{width:44px;height:44px;border-radius:50%;background:#e8f2f7;font-size:28px}.owned-tools{display:grid;grid-template-columns:2fr 1fr;gap:12px;margin:18px 0}.owned-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:47vh;overflow:auto;padding:8px;border:1px solid #cadde7;border-radius:14px;background:#fff}.owned-list label{display:grid;grid-template-columns:24px 1fr;align-items:center;gap:8px;padding:8px;border-radius:10px}.owned-list label:hover{background:#edf8fd}.owned-list input{width:19px;height:19px}.owned-list span{display:grid}.owned-list small{color:var(--muted)}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.modal-open{overflow:hidden}
@media(max-width:900px){body{padding:0;display:block;background:var(--shell)}.device{width:100%;min-height:100vh;padding:18px 8px 52px;border:0;border-radius:0;box-shadow:none}.loop{display:none}.masthead{height:42px}.masthead h1{font-size:28px}.screen-shell{width:100%;margin:4px 0 0;padding:6px;border-radius:18px}.screen{min-height:calc(100vh - 120px);border-radius:13px}.screen-content{min-height:calc(100vh - 132px);padding:13px;gap:13px}.selectors{grid-template-columns:1fr}.result{padding:13px}.result-hero{padding-bottom:12px}.pet{width:52px;height:52px}.readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.button{width:100%;border-radius:14px}.button.primary,.button.secondary{grid-column:span 1}.utility{align-items:flex-start;flex-direction:column}.future{grid-template-columns:1fr}.future-biomes{grid-column:1}.owned-tools,.owned-list{grid-template-columns:1fr}.modal{padding:0;place-items:end stretch}.modal-panel{width:100%;max-height:94vh;border-radius:22px 22px 0 0;padding:18px}.hardware-buttons{display:none}}
@media(max-width:390px){.actions{grid-template-columns:1fr}.readouts{grid-template-columns:1fr 1fr}.future-biomes{flex-wrap:wrap}.screen-content{padding:10px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.device.tropics{--shell:#e95091;--shell-edge:#d63e7d;--shell-glow:#ff91b9;--accent:#f3a12d}.device.glacier{--shell:#f4f5fb;--shell-edge:#c8cadc;--shell-glow:#ffffff;--accent:#596db9}

/* Paradise device silhouette: a round shell wrapped around a square LCD. */
@media(min-width:701px){
  body{align-items:start;padding-block:58px}
  .device{width:min(92vw,760px);min-height:760px;padding:70px 54px 112px;border-radius:50%;box-shadow:0 30px 70px #71354f38,inset 0 16px 28px #ffffffb8,inset 0 -22px 32px #00000010}
  .device::after{content:"";position:absolute;z-index:0;right:-7px;top:67px;width:62px;height:30px;border:3px solid var(--shell-edge);border-radius:12px 24px 24px 12px;background:linear-gradient(180deg,var(--shell-glow),var(--accent));box-shadow:0 6px 12px #0002;transform:rotate(-48deg);transform-origin:left center}
  .loop{display:none}
  .masthead{height:42px}
  .screen-shell{width:78%;margin:8px auto 0;padding:9px;border-radius:24px}
  .screen{min-height:0;aspect-ratio:1/1;border-radius:17px}
  .screen-content{height:100%;min-height:0;overflow:auto;padding:18px;align-content:start}
  .hardware-buttons{bottom:48px}
  .hardware-buttons i{width:38px;height:38px;background:radial-gradient(circle at 40% 30%,#fff,var(--accent));border-color:var(--shell-edge)}
}

@media(max-width:700px){
  body{padding:34px 6px 46px;display:grid;place-items:start center;background:radial-gradient(circle at 50% 0,#fff8fb,#ffdce9)}
  .device{width:min(96vw,560px);min-height:560px;padding:46px 30px 98px;border:3px solid var(--shell-edge);border-radius:50%;box-shadow:0 20px 42px #71354f34,inset 0 13px 24px #ffffffb8,inset 0 -18px 26px #00000010}
  .device::after{content:"";position:absolute;right:-8px;top:51px;width:52px;height:25px;border:3px solid var(--shell-edge);border-radius:10px 20px 20px 10px;background:linear-gradient(180deg,var(--shell-glow),var(--accent));box-shadow:0 5px 10px #0002;transform:rotate(-48deg);transform-origin:left center}
  .masthead{height:34px}
  .screen-shell{width:80%;margin:4px auto 0;padding:7px}
  .screen{min-height:0;aspect-ratio:1/1}
  .screen-content{height:100%;min-height:0;overflow:auto;padding:12px}
  .hardware-buttons{display:flex;bottom:40px}
  .hardware-buttons i{width:32px;height:32px;background:radial-gradient(circle at 40% 30%,#fff,var(--accent));border-color:var(--shell-edge)}
}

@media(max-width:420px){
  body{padding:22px 3px 32px}
  .device{width:98vw;min-height:0;padding:34px 15px 78px;border-radius:48% 48% 46% 46%/18% 18% 12% 12%}
  .device::after{right:-8px;top:42px;width:43px;height:21px}
  .masthead{height:32px}.masthead h1{font-size:24px}
  .screen-shell{width:86%}
  .hardware-buttons{bottom:27px}.hardware-buttons i{width:27px;height:27px}
}
.version-button{font-weight:850}.changelog-panel{width:min(620px,100%)}.changelog-copy{line-height:1.55}.changelog-copy h3{margin:20px 0 6px;font:28px/1 "VT323",monospace}.changelog-copy ul{margin:0;padding-left:22px}.changelog-copy li+li{margin-top:7px}.legal-copy{margin-top:20px;padding-top:14px;border-top:1px solid #d5e4eb;color:var(--muted);font-size:13px}

/* Recovered v1-style LCD result readouts */
.result-readouts{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.result-readouts .card{min-width:0;padding:10px 12px;border:1px solid #d7ebf7;border-radius:12px;background:rgba(255,255,255,.65);background-image:radial-gradient(var(--screen-dot) 1px,transparent 1px);background-size:6px 6px;backdrop-filter:blur(4px)}.result-readouts strong{display:block;margin-top:6px;font:800 20px/1.1 "VT323",monospace;overflow-wrap:anywhere}.result-readouts .result-label{font-size:12px;letter-spacing:.035em}@media(max-width:700px){.result-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.result-readouts .adult-card{grid-column:1/-1}}@media(max-width:390px){.result-readouts{grid-template-columns:1fr 1fr}}
.pet[hidden]{display:none!important}

/* Responsive LCD cards: never squeeze labels or values into letter columns. */
.result-readouts{grid-template-columns:repeat(auto-fit,minmax(165px,1fr))}.result-readouts strong{font-size:19px;overflow-wrap:normal;word-break:normal}.result-readouts .card{min-height:82px}

/* Keep LCD words intact at the device's actual narrow-display widths. */
.result-readouts .result-label,.result-readouts strong{word-break:keep-all;overflow-wrap:normal}@media(max-width:900px){.result-readouts{grid-template-columns:repeat(2,minmax(0,1fr))}.result-readouts .adult-card{grid-column:auto}}@media(max-width:500px){.result-readouts{grid-template-columns:1fr}.result-readouts .result-label,.result-readouts strong{white-space:normal}}

/* Unified LCD result panel */
.result-panel{padding:4px 14px;border:1px solid #c5deeb;border-radius:14px;background:rgba(255,255,255,.62);background-image:radial-gradient(var(--screen-dot) 1px,transparent 1px);background-size:6px 6px}.result-row{display:grid;grid-template-columns:minmax(112px,32%) minmax(0,1fr);align-items:baseline;gap:14px;padding:10px 2px;border-bottom:1px solid #cfe2ec}.result-row:last-child{border-bottom:0}.result-row strong{font:800 21px/1.15 "VT323",monospace;overflow-wrap:normal;word-break:normal}.result-row .result-label{font-size:12px;white-space:nowrap}.result-row.adult-row{margin-inline:-6px;padding-inline:8px;border-radius:8px;background:rgba(255,255,255,.5)}.result-row.adult-row strong{font-size:24px;color:#173b52}@media(max-width:500px){.result-panel{padding-inline:10px}.result-row{grid-template-columns:105px minmax(0,1fr);gap:9px}.result-row strong{font-size:19px}.result-row.adult-row strong{font-size:22px}}
/* Single horizontal LCD results strip */
.result-panel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(132px,1fr);gap:10px;padding:10px;overflow-x:auto;overscroll-behavior-inline:contain}.result-row,.result-row.adult-row{display:block;min-height:76px;margin:0;padding:11px 12px;border:1px solid #c8dfe9;border-radius:13px;background:rgba(255,255,255,.44)}.result-row:last-child{border-bottom:1px solid #c8dfe9}.result-row .result-label{display:block;font-size:10px;white-space:nowrap}.result-row strong,.result-row.adult-row strong{display:block;margin-top:10px;color:#173b52;font:800 19px/1.1 "VT323",monospace;white-space:nowrap;overflow-wrap:normal;word-break:normal}@media(max-width:500px){.result-panel{grid-auto-columns:minmax(128px,1fr);padding:8px}.result-row,.result-row.adult-row{min-height:72px;padding:10px}.result-row strong,.result-row.adult-row strong{font-size:18px}}
/* Canonical recovered desktop proportions; phone/tablet layout remains separate. */
@media(min-width:901px){.device{width:min(980px,96vw);padding:42px 22px 66px}.masthead{height:52px}.screen-shell{width:min(78%,760px);margin:34px auto 8px;padding:10px}.screen{min-height:0;aspect-ratio:1/1}.screen-content{min-height:100%;padding:12px 12px 20px;gap:10px;align-content:start}.selectors{width:min(100%,300px);margin-inline:auto;gap:8px}.selectors select{min-height:42px;padding:7px 10px}.result-panel{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-flow:row;grid-auto-columns:auto;gap:10px;padding:0;overflow:visible;border:0;background:transparent}.result-row,.result-row.adult-row{min-width:0;min-height:64px;padding:9px 10px}.result-row strong,.result-row.adult-row strong{margin-top:8px;font-size:18px;white-space:nowrap}.actions{justify-content:center;gap:8px}.button{min-height:40px;padding:8px 14px}.button.compact{min-height:38px;padding-inline:12px}.utility{margin-top:2px}.history{padding-top:9px}footer{margin-top:auto}}
/* Compact, usable phone/tablet LCD without altering the recovered desktop. */
@media(max-width:900px){.masthead h1{font-size:24px}.screen-content{padding:10px;gap:9px}.selectors{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.selectors label{gap:4px;font-size:12px}.selectors select{min-height:42px;padding:6px 8px}.perfect-hint{padding:7px 9px;font-size:12px}.actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.button,.button.compact{min-height:42px;padding:7px 9px;border-radius:12px;font-size:14px}.utility{gap:7px;font-size:12px}.history{padding-top:8px}footer{font-size:11px}.result-panel{max-width:100%}}
@media(max-width:390px){.actions{grid-template-columns:repeat(2,minmax(0,1fr))}.screen-content{padding:9px}.selectors{grid-template-columns:repeat(2,minmax(0,1fr))}.button,.button.compact{font-size:13px;padding-inline:6px}}
/* Keep the desktop LCD fully seated inside the shell. */
@media(min-width:901px){.device{padding-bottom:110px}.screen-shell{width:min(72%,700px);margin-top:24px}.hardware-buttons{bottom:28px}}
