:root{
  --paper:#f5f0e6;--surface:#fbfaf7;--soft:#ecebe8;--ink:#11110f;
  --muted:#74716b;--line:#d2cec6;--orange:#f26432;--brown:#2a1917;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;
}
html,body{background:#efefed;color:var(--ink)}
.app-shell{background:var(--paper);box-shadow:0 24px 80px rgba(18,18,16,.1)}
.screen{background:var(--paper);background-image:none}
.topbar{height:70px}.brand{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-size:13px;font-weight:650;letter-spacing:-.1px}.brand-mark{width:25px;height:25px;border:0;border-radius:6px;background:var(--orange);color:var(--ink);box-shadow:none;font:500 16px/25px var(--mono);transform:none}.ghost-btn,.icon-btn{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-size:12px;font-weight:500}.icon-btn{border:.75px solid var(--line);border-radius:50%;box-shadow:none}.ghost-btn:after{display:none}
.hero,.home-screen .hero{padding:35px 0 25px}.hero h1,.home-screen .hero h1{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif;font-size:39px;font-weight:620;line-height:1.1;letter-spacing:-2.1px;margin:0 0 10px;transform:none}.home-screen .hero h1:after{display:none}.hero p,.home-screen .hero p{margin:0;padding:0;background:none;color:var(--muted);font-size:13px;font-weight:400;letter-spacing:.05px;transform:none}
.eyebrow{font-family:var(--mono);font-size:9px;font-weight:500;letter-spacing:1.2px;color:var(--orange)}

.balance-hero.precision-hero{position:relative;height:252px;margin:0 0 32px;overflow:hidden;border:0;border-radius:14px;background:var(--ink);box-shadow:none;color:var(--paper)}
.balance-hero.precision-hero:before{content:"";position:absolute;z-index:0;inset:0 0 0 70%;background:var(--orange);opacity:1}
.balance-hero.precision-hero:after{content:"";position:absolute;z-index:1;left:0;right:30%;bottom:0;height:72px;background:radial-gradient(circle,rgba(245,240,230,.32) .7px,transparent .8px);background-size:5px 5px;opacity:.42}
.precision-meta{position:absolute;z-index:4;left:17px;right:16px;top:15px;display:flex;justify-content:space-between;color:var(--paper);font:8px var(--mono);letter-spacing:.7px}.precision-meta span:last-child{color:var(--ink)}
.precision-graphic{position:absolute;z-index:2;left:5%;top:37px;width:90%;height:170px;color:var(--paper)}
.precision-label{position:absolute;z-index:3;bottom:38px;color:rgba(245,240,230,.76);font:7px var(--mono);letter-spacing:1px}.label-left{left:18px}.label-right{right:17px;color:var(--ink)}
.precision-hero .custom-balance{z-index:5;left:auto;right:12px;bottom:11px;transform:none;background:var(--paper);color:var(--ink);border:0;border-radius:8px;padding:10px 13px;box-shadow:none;font:600 10px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;letter-spacing:.1px}.precision-hero .custom-balance:active{transform:translateY(1px);box-shadow:none}
.precision-hero .drop-target{left:21%;top:48%;width:58px;height:36px}.precision-hero .weight-token{z-index:6;left:25%;top:46%;width:35px;height:35px;border:1px solid var(--paper);border-radius:50%;background:var(--orange);color:var(--ink);box-shadow:none;font:16px var(--mono)}

.section-title{margin:18px 0 13px}.section-title h2,.playful-title h2{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif;font-size:13px;font-weight:600;letter-spacing:.05px;transform:none}.section-title span,.playful-title span{font-family:var(--mono);font-size:8px;color:var(--muted);letter-spacing:.5px;transform:none}
.scenario-grid{gap:9px;padding-bottom:17px}.scenario{position:relative;flex:0 0 148px;min-height:174px!important;padding:15px;background:var(--soft)!important;border:0!important;border-radius:13px!important;box-shadow:none!important;transform:none!important;margin:0!important;overflow:hidden;color:var(--ink)}
.scenario:nth-child(3n+1){background:var(--orange)!important}.scenario:nth-child(3n+3){background:var(--ink)!important;color:var(--paper)}.scenario:before{content:"";position:absolute;left:0;right:0;bottom:0;height:74px;background:radial-gradient(circle,currentColor .65px,transparent .8px);background-size:4px 4px;opacity:.16}.scenario:after{content:"";position:absolute;left:20px;right:-18px;bottom:-30px;height:78px;border:1px solid currentColor;border-radius:50%;opacity:.18}.scenario.selected,.scenario:active{outline:1.5px solid var(--ink);outline-offset:-4px;transform:none!important}.scenario:nth-child(3n+3).selected{outline-color:var(--paper)}
.scenario-index{position:absolute;left:14px;top:14px;color:inherit;font:9px var(--mono);opacity:.8}.scenario-icon{position:absolute;right:14px;top:10px;width:auto;height:auto;border:0;background:none!important;box-shadow:none;color:inherit;font:20px var(--mono);filter:none;opacity:.8}.scenario>div{position:absolute;left:14px;right:12px;top:48px;bottom:auto}.scenario-name{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif;font-size:18px;font-weight:570;line-height:1.08;letter-spacing:-.5px;margin:0}.scenario-example{margin-top:10px;color:inherit;font:8px/1.45 var(--mono);opacity:.7;white-space:normal}.flying-scenario{border-radius:13px!important;box-shadow:none!important}

.setup h1,.question h1,.result h1,.history h1{font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif;font-size:30px;font-weight:580;line-height:1.23;letter-spacing:-1.3px}.lead{font-size:13px;color:var(--muted)}.choice-inputs{margin-top:38px}.field-label,.progress-meta,.dim-meta small{font-family:var(--mono);font-size:9px;letter-spacing:.45px}.text-field{height:55px;background:var(--surface);border:.75px solid var(--line);border-radius:10px;box-shadow:none;font-size:14px}.text-field:focus{border-color:var(--ink);box-shadow:0 0 0 2px rgba(242,100,50,.1)}.versus{font-family:var(--mono);font-size:8px;color:var(--muted)}
.primary,.secondary{min-height:54px;border-radius:10px;box-shadow:none;transform:none;font-size:13px;font-weight:560}.primary{background:var(--ink);color:var(--paper);border:1px solid var(--ink)}.primary.lime{background:var(--orange);color:var(--ink);border-color:var(--orange)}.secondary{background:transparent;border:.75px solid var(--line)}.primary:active,.secondary:active{opacity:.78;transform:none}
.progress,.dim-bar{height:3px;padding:0;background:#dedad2;border:0;border-radius:0;box-shadow:none}.progress>i,.dim-bar span{border-radius:0;background:var(--orange)}
.question-card{margin-top:52px}.question-card:after{display:none}.round-tag{padding:7px 10px;background:transparent;border:.75px solid var(--line);border-radius:99px;box-shadow:none;color:var(--muted);font-family:var(--mono);font-size:8px;font-weight:500;letter-spacing:.5px;transform:none}.round-tag:before{display:none}.question h1{margin-top:20px}
.options{gap:9px;margin-top:34px}.option,.option:nth-child(n){min-height:62px;padding:16px;background:var(--surface);border:.75px solid var(--line);border-radius:11px;box-shadow:none;transform:none;font-size:13px;font-weight:450}.option:hover,.option:active{background:#fff;border-color:var(--ink);transform:none}.option-letter{min-width:25px;height:25px;background:transparent;border:.75px solid var(--line);border-radius:50%;box-shadow:none;color:var(--muted);font:8px var(--mono)}.privacy-note{font-family:var(--mono);font-size:8px;color:#99958d}

.result-header{padding-top:17px}.tendency{padding:26px 22px;background:var(--orange);color:var(--ink);border:0;border-radius:14px;box-shadow:none;transform:none}.tendency:after{content:"±";background:none;filter:none;color:var(--ink);font:108px var(--mono);opacity:.055}.tendency-label,.insight-label{font-family:var(--mono);font-size:8px;letter-spacing:.8px}.tendency-choice{font-size:26px;font-weight:580}.scale{background:rgba(17,17,15,.14)}.scale span{background:var(--ink)}.scale-ends{opacity:.65}
.result-instrument{position:relative;padding:16px 18px 20px;overflow:hidden;background:var(--ink);color:var(--paper);border-radius:14px;background-image:radial-gradient(circle,rgba(245,240,230,.16) .65px,transparent .8px),linear-gradient(rgba(245,240,230,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(245,240,230,.045) 1px,transparent 1px);background-size:6px 6px,22px 22px,22px 22px}.result-instrument:after{display:none}.instrument-readout{display:flex;justify-content:space-between;padding-bottom:10px;margin-bottom:18px;border-bottom:.75px solid rgba(245,240,230,.28);color:var(--orange);font:9px var(--mono);letter-spacing:.55px}.result-instrument .tendency-label{color:rgba(245,240,230,.58);font-size:10px}.result-instrument .tendency-choice{position:relative;z-index:2;margin-top:5px;color:var(--paper);font-size:27px;letter-spacing:-.7px}.result-ascii-balance{position:relative;height:92px;margin:8px 0 6px;color:var(--paper);font-family:var(--mono)}.result-beam{position:absolute;left:50%;top:24px;transform:translateX(-50%) rotate(var(--result-tilt));transform-origin:center;color:var(--orange);font:13px var(--mono);white-space:nowrap}.result-pans{position:absolute;left:10px;right:10px;top:48px;display:flex;justify-content:space-between;color:rgba(245,240,230,.75);font:10px var(--mono)}.result-ascii-balance>i{position:absolute;left:50%;top:34px;transform:translateX(-50%);color:rgba(245,240,230,.65);font:10px/18px var(--mono);font-style:normal;text-align:center;white-space:nowrap}.result-instrument .scale{height:3px;background:rgba(245,240,230,.18)}.result-instrument .scale span{background:var(--orange)}.result-instrument .scale-ends{color:var(--paper);opacity:.62}
.insight{padding:22px;background:var(--surface);border:.75px solid var(--line);border-radius:12px;box-shadow:none;transform:none}.insight:before{display:none}.insight-label{color:var(--orange)}.insight p{font-size:14px;line-height:1.75;font-weight:430}.feedback{padding:20px;background:transparent;border:.75px solid var(--line);border-radius:12px;box-shadow:none;transform:none}.feedback-row button{border:.75px solid var(--line);border-radius:8px;box-shadow:none;background:var(--surface);font-size:11px}.feedback-row button.active{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.history-card,.history-card:nth-child(n){background:var(--surface);border:.75px solid var(--line);border-radius:11px;box-shadow:none;transform:none}.history-outcome{color:var(--orange)}.empty-glyph{font:22px var(--mono);color:var(--orange);letter-spacing:3px}

.bottom-nav{height:calc(72px + env(safe-area-inset-bottom));background:rgba(245,240,230,.96);border-top:.75px solid var(--line);box-shadow:none}.bottom-nav:before{display:none}.nav-item{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;font-size:9px;font-weight:450;gap:2px}.nav-glyph{width:27px;height:27px;background:transparent;color:var(--muted);font:17px var(--mono)}.nav-item.active{color:var(--ink)}.nav-item.active .nav-glyph{background:var(--ink);color:var(--paper);border-radius:6px}.nav-item.active:after{display:none}
.sheet{background:var(--paper);border:0;border-radius:18px 18px 0 0;box-shadow:none}.share-card{background:var(--ink);border-radius:13px}.share-card .brand-mark{background:var(--orange)}.toast{background:var(--ink);border-radius:8px;font-family:var(--mono);font-size:9px}

/* Philosophy cards: each decision becomes a collectible reflection */
.philosophy-list{gap:12px;margin-top:28px}.philosophy-card,.philosophy-card:nth-child(n){position:relative;width:100%;min-height:0;padding:19px 18px 15px;overflow:visible;display:flex;flex-direction:column;text-align:left;background:var(--surface);color:var(--ink);border:0;border-radius:14px;transform:none;box-shadow:none}
.philosophy-card:nth-child(3n+1){background:var(--orange);color:var(--ink)}.philosophy-card:nth-child(3n+2){background:var(--surface);color:var(--ink);border:.75px solid var(--line)}.philosophy-card:nth-child(3n+3){background:var(--ink);color:var(--paper)}
.record-meta{display:flex;justify-content:space-between;align-items:center;font:8px var(--mono);letter-spacing:.7px;opacity:.68}.record-dimension{align-self:flex-start;margin-top:16px;padding:5px 8px;border:.75px solid currentColor;border-radius:99px;font:8px var(--mono);letter-spacing:.5px}.record-topic{margin-top:13px;font:8px/1.45 var(--mono);opacity:.6}.record-topic span{padding:0 6px;color:var(--orange)}.philosophy-card:nth-child(3n+1) .record-topic span{color:var(--ink)}
.philosophy-card blockquote{position:relative;z-index:2;margin:0;max-width:320px;font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC",sans-serif;font-size:17px;font-weight:540;line-height:1.48;letter-spacing:-.25px}.philosophy-card blockquote:before{content:"“";position:absolute;left:-3px;top:-17px;font:44px Georgia,serif;opacity:.07}
.record-visual{height:84px;margin:auto -6px 3px}.record-visual svg{display:block;width:100%;height:100%;color:currentColor}.motif-line{fill:none;stroke:currentColor;stroke-width:1;opacity:.6}.motif-accent{fill:none;stroke:var(--orange);stroke-width:1.6}.motif-accent-fill{fill:var(--orange)}.philosophy-card:nth-child(3n+1) .motif-accent{stroke:var(--ink)}.philosophy-card:nth-child(3n+1) .motif-accent-fill{fill:var(--ink)}
.record-choice{display:grid;grid-template-columns:1fr auto 18px;align-items:end;gap:8px;padding-top:11px;border-top:.75px solid currentColor}.record-choice>span{font:10px var(--mono);letter-spacing:.5px;opacity:.55}.record-choice strong{max-width:210px;font-size:13px;font-weight:600;text-align:right}.record-choice i{font:14px var(--mono);font-style:normal;color:var(--orange)}.philosophy-card:nth-child(3n+1) .record-choice i{color:var(--ink)}

/* Two-column editorial layout for decision notes */
.history .eyebrow{margin-top:4px}.history>h1{font-size:28px;line-height:1.22;letter-spacing:-1.1px;margin-top:22px}.philosophy-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:25px}.philosophy-card,.philosophy-card:nth-child(n){min-width:0;min-height:0;height:auto;padding:16px 14px 13px;border-radius:12px}
.philosophy-card blockquote{max-width:none;margin:0;font-size:15px;font-weight:530;line-height:1.52;letter-spacing:-.18px;text-wrap:balance}.philosophy-card blockquote:before{left:-2px;top:-14px;font-size:38px}.record-visual{height:76px;margin:auto -8px 5px}.record-choice{grid-template-columns:1fr 14px;grid-template-rows:auto auto;align-items:center;column-gap:5px;row-gap:3px;padding-top:10px}.record-choice>span{grid-column:1;grid-row:1;font-size:9px}.record-choice strong{grid-column:1;grid-row:2;max-width:100%;overflow:visible;text-overflow:clip;white-space:normal;word-break:keep-all;text-align:left;font-size:12px;font-weight:600;letter-spacing:-.1px;line-height:1.3}.record-choice i{grid-column:2;grid-row:1/3;align-self:center;font-size:13px}

/* Compact record entries — the same cyber-instrument language as the home */
.philosophy-card,.philosophy-card:nth-child(n){min-height:0;height:auto;padding:18px 15px 16px}
.philosophy-card .record-choice{display:grid;grid-template-columns:1fr 14px;grid-template-rows:auto auto;margin:0;padding:0 0 12px;border:0;border-bottom:.75px solid currentColor;row-gap:4px}
.philosophy-card .record-choice>span{grid-column:1;grid-row:1;font-size:9px;letter-spacing:.25px;opacity:.55}
.philosophy-card .record-choice strong{grid-column:1;grid-row:2;max-width:100%;font-size:15px;font-weight:600;line-height:1.3;letter-spacing:-.35px;text-align:left;white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all}
.philosophy-card .record-choice i{grid-column:2;grid-row:1/3;align-self:center;font-size:13px}
.record-visual{height:68px;margin:12px -4px 11px;display:grid;place-items:center;overflow:hidden;background-image:linear-gradient(rgba(17,17,15,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,15,.055) 1px,transparent 1px);background-size:12px 12px;mask-image:linear-gradient(90deg,transparent,#000 16%,#000 84%,transparent)}
.ascii-trace{display:grid;place-items:center;gap:5px;color:currentColor}.ascii-trace pre{margin:0;font:7px/1.05 var(--mono);letter-spacing:.7px;text-align:center;white-space:pre;opacity:.54}.trace-axis{display:flex;align-items:center;gap:4px;font:7px var(--mono);opacity:.74}.trace-axis code{color:var(--orange);font:7px var(--mono);letter-spacing:-.5px}.philosophy-card:nth-child(3n+1) .trace-axis code{color:var(--ink)}.philosophy-card:nth-child(3n+3) .ascii-trace pre{opacity:.7}.philosophy-card:nth-child(3n+3) .trace-axis code{color:var(--orange)}
.philosophy-card blockquote{display:block;overflow:visible;-webkit-line-clamp:unset;margin:auto 0 0;padding-top:10px;border-top:0;font-size:10.5px;font-weight:430;line-height:1.45;letter-spacing:0;opacity:.7;text-wrap:pretty}.philosophy-card blockquote:before{display:none}
.history-detail{padding-bottom:44px}.history-detail h1{margin:22px 0 23px;font-size:25px;line-height:1.28}.history-detail h1 span{color:var(--muted);font-size:.56em;font-weight:450}
.history-detail-visual{position:relative;height:142px;margin:0 0 16px;display:grid;place-items:center;border-top:.75px solid var(--line);border-bottom:.75px solid var(--line);background-image:radial-gradient(circle,rgba(17,17,15,.13) .6px,transparent .8px);background-size:6px 6px;overflow:hidden}
.history-detail-visual:before,.history-detail-visual:after{content:"";position:absolute;width:92px;height:92px;border:1px dashed rgba(242,100,50,.55);border-radius:50%}.history-detail-visual:after{width:56px;height:56px;border-color:rgba(17,17,15,.25)}
.history-detail-visual .record-visual{position:relative;z-index:2;width:220px;height:112px;margin:0;background-size:14px 14px}.history-detail-visual .ascii-trace{gap:9px}.history-detail-visual .ascii-trace pre{font-size:11px;line-height:1.08;opacity:.82}.history-detail-visual .trace-axis,.history-detail-visual .trace-axis code{font-size:9px}
.history-detail-visual>span{position:absolute;right:7px;bottom:7px;color:var(--muted);font:9px var(--mono);letter-spacing:.45px}
.history-detail .tendency{margin-top:0}.history-detail .insight{margin-top:12px}.history-detail .section-title{margin-top:30px}.history-back{width:100%;margin-top:30px}

/* Unframed ASCII balance — a living instrument, not a card */
.balance-hero.ascii-stage{position:relative;height:226px;margin:0 0 4px;overflow:visible;background:transparent;border:0;border-radius:0;box-shadow:none;color:var(--ink)}
.balance-hero.ascii-stage:before,.balance-hero.ascii-stage:after{content:none}
.ascii-readout{position:absolute;left:0;right:0;top:0;display:flex;justify-content:space-between;padding-bottom:9px;border-bottom:.75px solid var(--line);color:var(--muted);font:8px var(--mono);letter-spacing:.7px}.ascii-balance{position:absolute;inset:28px 0 0;font-family:var(--mono);color:var(--ink)}
.ascii-pivot{position:absolute;z-index:1;left:50%;top:13px;transform:translateX(-50%);text-align:center;font:16px/18px var(--mono)}.ascii-stand{position:absolute;z-index:1;left:50%;top:72px;transform:translateX(-50%);text-align:center;font:14px/19px var(--mono);white-space:nowrap}.ascii-beam{position:absolute;z-index:3;left:50%;top:55px;transform-origin:50% 50%;font:16px var(--mono);letter-spacing:.5px;white-space:nowrap;animation:ascii-beam-sway 3.6s ease-in-out infinite}
.ascii-pan{position:absolute;z-index:2;top:75px;width:100px;text-align:center;font:12px/13px var(--mono)}.ascii-pan span,.ascii-pan strong{display:block;font-weight:400;white-space:nowrap}.ascii-pan-left{left:34px;animation:ascii-pan-left 3.6s ease-in-out infinite}.ascii-pan-right{right:34px;animation:ascii-pan-right 3.6s ease-in-out infinite}.ascii-floor{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);color:var(--line);font:9px var(--mono);white-space:nowrap}
@keyframes ascii-beam-sway{0%,100%{transform:translateX(-50%) rotate(-3.2deg)}50%{transform:translateX(-50%) rotate(3.2deg)}}
@keyframes ascii-pan-left{0%,100%{transform:translateY(5px)}50%{transform:translateY(-5px)}}
@keyframes ascii-pan-right{0%,100%{transform:translateY(-5px)}50%{transform:translateY(5px)}}
.ascii-stage.is-selecting .ascii-beam,.ascii-stage.is-selecting .ascii-pan{animation-duration:.48s}.ascii-stage.is-selecting .ascii-readout span:first-child{font-size:0;color:var(--orange)}.ascii-stage.is-selecting .ascii-readout span:first-child:after{content:"WEIGHT / DETECTED";font-size:8px}
.ascii-stage .drop-target{position:absolute;left:15%;top:50%;width:82px;height:45px}.ascii-stage .weight-token{z-index:5;left:24%;top:50%;width:27px;height:27px;background:var(--orange);color:var(--ink);border:0;border-radius:50%;box-shadow:none;font:13px var(--mono)}
.home-screen>.home-custom{position:relative;left:auto;right:auto;bottom:auto;display:block;width:100%;height:50px;margin:0 0 31px;padding:0 15px;transform:none;background:transparent;color:var(--ink);border:.75px solid var(--line);border-radius:10px;box-shadow:none;text-align:left;font:520 12px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.home-screen>.home-custom:after{content:"↗";float:right;font-family:var(--mono);color:var(--orange)}.home-screen>.home-custom:active{transform:none;background:var(--surface);box-shadow:none}

/* Cyber instrument — denser ASCII, signal trails and live diagnostics */
.balance-hero.ascii-stage.cyber-stage{height:286px;margin-bottom:4px;overflow:hidden}
.cyber-grid{position:absolute;z-index:0;left:0;right:0;top:31px;bottom:13px;background-image:linear-gradient(rgba(17,17,15,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(17,17,15,.055) 1px,transparent 1px),radial-gradient(circle,rgba(242,100,50,.32) .8px,transparent .9px);background-size:22px 22px,22px 22px,7px 7px;mask-image:radial-gradient(ellipse at center,#000 0,rgba(0,0,0,.72) 48%,transparent 82%);animation:cyber-grid-drift 10s linear infinite}
.cyber-orbit{position:absolute;z-index:1;left:50%;top:121px;border:1px dashed rgba(17,17,15,.24);border-radius:50%;pointer-events:none}.orbit-outer{width:164px;height:164px;margin:-82px;animation:orbit-spin 16s linear infinite}.orbit-inner{width:104px;height:104px;margin:-52px;border-color:rgba(242,100,50,.46);animation:orbit-spin 9s linear infinite reverse}.cyber-orbit:before,.cyber-orbit:after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;background:var(--orange)}.cyber-orbit:before{left:50%;top:-3px}.cyber-orbit:after{left:50%;bottom:-3px}
.cyber-axis{position:absolute;z-index:1;background:rgba(17,17,15,.12);pointer-events:none}.axis-x{left:18px;right:18px;top:121px;height:1px}.axis-y{top:44px;bottom:30px;left:50%;width:1px}.cyber-data{position:absolute;z-index:2;top:48px;color:var(--muted);font:9px/1.5 var(--mono);letter-spacing:.4px}.data-left{left:4px;text-align:left}.data-right{right:4px;text-align:right}
.cyber-stage .ascii-balance{inset:31px 0 0}.cyber-stage .ascii-pivot{top:28px;color:var(--orange);font:14px/18px var(--mono)}.cyber-stage .ascii-stand{top:101px;font:13px/18px var(--mono);opacity:.8}.cyber-stage .ascii-beam{top:79px;font:15px var(--mono);letter-spacing:-.2px;animation:cyber-beam-sway 2.8s cubic-bezier(.45,0,.55,1) infinite}.cyber-stage .ascii-beam:before,.cyber-stage .ascii-beam:after{content:attr(data-text);position:absolute;left:0;top:0;color:var(--orange);pointer-events:none}.cyber-stage .ascii-beam:before{opacity:.2;transform:translateY(-3px);animation:signal-flicker 1.7s steps(2,end) infinite}.cyber-stage .ascii-beam:after{opacity:.1;transform:translateY(3px);animation:signal-flicker 1.1s steps(2,end) infinite reverse}
.cyber-stage .ascii-pan{top:99px;width:116px;font:12px/13px var(--mono)}.cyber-stage .ascii-pan-left{left:15px;animation:cyber-pan-left 2.8s cubic-bezier(.45,0,.55,1) infinite}.cyber-stage .ascii-pan-right{right:15px;animation:cyber-pan-right 2.8s cubic-bezier(.45,0,.55,1) infinite}.cyber-stage .ascii-pan em{display:block;margin-top:5px;color:var(--orange);font:8px var(--mono);font-style:normal;letter-spacing:.7px}.ascii-pulse{position:absolute;z-index:5;left:50%;top:73px;transform:translateX(-50%);color:var(--orange);font:17px var(--mono);animation:pulse-node 1.35s ease-out infinite}.cyber-wave{position:absolute;left:50%;bottom:15px;transform:translateX(-50%);color:rgba(242,100,50,.62);font:8px var(--mono);letter-spacing:1.3px;white-space:nowrap;animation:wave-shift 2.2s steps(4,end) infinite}
.cyber-stage .drop-target{left:12%;top:52%;width:96px;height:50px}.cyber-stage .weight-token{left:23%;top:53%;box-shadow:0 0 0 5px rgba(242,100,50,.12)}.cyber-stage.is-selecting .ascii-beam,.cyber-stage.is-selecting .ascii-pan{animation-duration:.34s}.cyber-stage.is-selecting .cyber-orbit{animation-duration:1.2s}.cyber-stage.is-selecting .cyber-grid{opacity:.85}
.flying-scenario.scenario{background:var(--fly-bg)!important;color:var(--fly-color)!important;border-color:transparent!important;box-shadow:0 18px 42px rgba(17,17,15,.16)!important;will-change:transform,opacity}
.pan-option-token{position:absolute;z-index:8;top:144px;width:78px;height:30px;padding:5px 7px;overflow:hidden;border:.75px solid currentColor;background:var(--paper);color:var(--ink);font:9px/18px var(--mono);text-align:center;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 5px 14px rgba(17,17,15,.09);opacity:0}.pan-option-token small{margin-right:4px;color:var(--orange);font:8px var(--mono)}.token-a{left:31px;animation:option-land-left .72s cubic-bezier(.2,.8,.25,1) .08s forwards}.token-b{right:31px;animation:option-land-right .72s cubic-bezier(.2,.8,.25,1) .2s forwards}
.cyber-stage.is-loaded .ascii-beam{animation:balance-loaded-beam 1.05s cubic-bezier(.2,.75,.25,1) forwards}.cyber-stage.is-loaded .ascii-pan-left{animation:balance-loaded-left 1.05s cubic-bezier(.2,.75,.25,1) forwards}.cyber-stage.is-loaded .ascii-pan-right{animation:balance-loaded-right 1.05s cubic-bezier(.2,.75,.25,1) forwards}.cyber-stage.is-loaded .cyber-orbit{animation-duration:2.4s}.cyber-stage.is-loaded .ascii-readout span:first-child{color:var(--orange);font-size:0}.cyber-stage.is-loaded .ascii-readout span:first-child:after{content:"OPTIONS / LOCKED";font-size:10px}
@keyframes option-land-left{0%{opacity:0;transform:translate(46px,-48px) scale(.5)}58%{opacity:1;transform:translate(0,5px) scale(1)}100%{opacity:1;transform:translateY(2px)}}@keyframes option-land-right{0%{opacity:0;transform:translate(-46px,-48px) scale(.5)}58%{opacity:1;transform:translate(0,-5px) scale(1)}100%{opacity:1;transform:translateY(-2px)}}
@keyframes balance-loaded-beam{0%{transform:translateX(-50%) rotate(-4.5deg)}35%{transform:translateX(-50%) rotate(3deg)}68%{transform:translateX(-50%) rotate(-1.4deg)}100%{transform:translateX(-50%) rotate(0)}}@keyframes balance-loaded-left{0%{transform:translateY(8px)}35%{transform:translateY(-5px)}68%{transform:translateY(2px)}100%{transform:translateY(0)}}@keyframes balance-loaded-right{0%{transform:translateY(-8px)}35%{transform:translateY(5px)}68%{transform:translateY(-2px)}100%{transform:translateY(0)}}
@keyframes cyber-beam-sway{0%,100%{transform:translateX(-50%) rotate(-4.5deg)}50%{transform:translateX(-50%) rotate(4.5deg)}}
@keyframes cyber-pan-left{0%,100%{transform:translateY(8px)}50%{transform:translateY(-8px)}}
@keyframes cyber-pan-right{0%,100%{transform:translateY(-8px)}50%{transform:translateY(8px)}}
@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes cyber-grid-drift{to{background-position:22px 22px,-22px -22px,7px 7px}}@keyframes signal-flicker{0%,84%{opacity:.08}85%,100%{opacity:.28}}@keyframes pulse-node{0%{opacity:1;text-shadow:0 0 0 rgba(242,100,50,.5)}100%{opacity:.35;text-shadow:0 0 14px rgba(242,100,50,0)}}@keyframes wave-shift{50%{transform:translateX(-50%) scaleY(.65);opacity:.5}}

/* Mobile legibility floor — no critical UI text below roughly 10–11px */
body{font-size:14px}.eyebrow{font-size:10.5px}.section-title span,.playful-title span{font-size:10.5px}.scenario-index{font-size:10.5px}.scenario-example{font-size:10.5px;line-height:1.35}.field-label,.progress-meta,.dim-meta small{font-size:10.5px}.round-tag{font-size:10px}.privacy-note{font-size:10px;line-height:1.5}.tendency-label,.insight-label{font-size:10px}.nav-item{font-size:10.5px}.record-meta,.record-dimension,.record-topic,.record-choice>span{font-size:10px}.history-date{font-size:10px}.lead{font-size:14px}.option,.option:nth-child(n){font-size:14px}.ascii-readout{font-size:10px}.ascii-stage.is-selecting .ascii-readout span:first-child:after{font-size:10px}.precision-meta,.precision-label{font-size:10px}
@media (prefers-reduced-motion:reduce){.cyber-grid,.cyber-orbit,.cyber-stage .ascii-beam,.cyber-stage .ascii-pan,.ascii-pulse,.cyber-wave{animation:none!important}}

/* Home scenarios: two-column vertical catalogue */
.home-screen>.home-custom{margin-bottom:10px}.home-screen .scenario-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;margin:0;padding:0 0 22px;scroll-snap-type:none;overscroll-behavior:auto;cursor:default;touch-action:pan-y}
.home-screen .scenario{width:100%;min-width:0;min-height:174px!important;scroll-snap-align:none}

/* AI-agent style prompt composer */
.home-screen>.agent-composer{height:60px;padding:7px 8px;display:grid;grid-template-columns:38px minmax(0,1fr) 38px;align-items:center;gap:8px;background:var(--surface);border:.75px solid var(--line);border-radius:16px;box-shadow:0 8px 24px rgba(17,17,15,.045);text-align:left}.home-screen>.agent-composer:after{display:none}.agent-add,.agent-send{width:36px;height:36px;padding:0;display:grid;place-items:center;border-radius:10px;font:17px var(--mono)}.agent-add{background:var(--paper);border:.75px solid var(--line);color:var(--muted)}.agent-input{width:100%;min-width:0;height:38px;padding:0 2px;border:0;outline:0;background:transparent;color:var(--ink);font:13px -apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}.agent-input::placeholder{color:#99958e}.agent-input:disabled{opacity:.55}.agent-send{border:0;background:var(--orange);color:var(--ink);font-size:18px}.agent-send.thinking{animation:agent-thinking .75s ease-in-out infinite}.home-screen>.agent-composer:focus-within{border-color:#aaa69e;box-shadow:0 0 0 3px rgba(242,100,50,.08)}.agent-add:active,.agent-send:active{transform:translateY(1px)}@keyframes agent-thinking{50%{opacity:.45}}
.ai-suggestion{margin-top:24px;padding:14px 15px;background:rgba(242,100,50,.07);border-left:2px solid var(--orange);border-radius:0 9px 9px 0}.ai-suggestion span{display:block;margin-bottom:6px;color:var(--orange);font:10px var(--mono);letter-spacing:.6px}.ai-suggestion p{margin:0;color:var(--muted);font-size:12px;line-height:1.6}

.result-beam{animation:result-beam-settle .9s cubic-bezier(.2,.75,.25,1) both}@keyframes result-beam-settle{0%{opacity:.25;transform:translateX(-50%) rotate(0)}60%{opacity:1;transform:translateX(-50%) rotate(calc(var(--result-tilt) * 1.35))}100%{transform:translateX(-50%) rotate(var(--result-tilt))}}
.result-instrument .result-beam{display:flex;color:rgba(245,240,230,.38)}.result-beam span,.result-beam b{font:inherit}.result-beam b{color:rgba(245,240,230,.72)}.result-instrument.bias-a .result-beam span:first-child,.result-instrument.bias-a .result-pans span:first-child,.result-instrument.bias-a .scale-ends span:first-child{color:var(--orange)}.result-instrument.bias-b .result-beam span:last-child,.result-instrument.bias-b .result-pans span:last-child,.result-instrument.bias-b .scale-ends span:last-child{color:var(--orange)}.result-instrument .scale span{position:absolute;top:0;bottom:0}
.history-detail .result-header h1{margin-top:22px;font-size:30px;font-weight:580;line-height:1.23;letter-spacing:-1.3px}.history-detail .result-instrument{margin:26px 0}.history-result-actions{margin-top:30px}
.dim-reading{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6;letter-spacing:.05px}.dimension+.dimension{margin-top:23px}
.delete-sheet{padding:12px 22px calc(22px + env(safe-area-inset-bottom));text-align:center}.delete-symbol{margin:18px auto 14px;color:var(--orange);font:18px var(--mono);letter-spacing:3px}.delete-sheet h2{margin:0;font-size:20px;font-weight:600;letter-spacing:-.4px}.delete-sheet p{margin:10px auto 22px;max-width:290px;color:var(--muted);font-size:12px;line-height:1.65}.delete-confirm{background:var(--orange);color:var(--ink);border-color:var(--orange)}
.minimal-topbar{position:relative;display:flex;align-items:center}.minimal-topbar .icon-btn{position:absolute;left:0;top:50%;transform:translateY(-50%)}
.ios-statusbar{position:fixed;z-index:40;left:50%;top:0;transform:translateX(-50%);width:min(430px,100%);height:42px;padding:0 16px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:rgba(245,240,230,.97);color:var(--ink);border-bottom:0;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.ios-statusbar time{justify-self:start;font-size:10px;font-weight:650;line-height:14px;letter-spacing:.05px;font-variant-numeric:tabular-nums}.ios-product-name{justify-self:center;font-size:12px;font-weight:650;letter-spacing:.05px;white-space:nowrap}.ios-system-icons{justify-self:end;height:13px;display:flex;align-items:center;gap:4px}.ios-signal{height:9px;display:flex;align-items:flex-end;gap:1.3px}.ios-signal i{display:block;width:1.7px;background:currentColor;border-radius:1px}.ios-signal i:nth-child(1){height:3px}.ios-signal i:nth-child(2){height:5px}.ios-signal i:nth-child(3){height:7px}.ios-signal i:nth-child(4){height:9px}.ios-wifi{width:13px;height:10px;fill:none;stroke:currentColor;stroke-width:1.35;stroke-linecap:round}.ios-battery{position:relative;width:19px;height:9px;border:1px solid currentColor;border-radius:2.5px;padding:1px}.ios-battery:after{content:"";position:absolute;right:-3px;top:2px;width:1.5px;height:3px;border-radius:0 1px 1px 0;background:currentColor;opacity:.55}.ios-battery i{display:block;width:12px;height:5px;border-radius:1px;background:currentColor}.screen{padding-top:42px}.minimal-topbar{position:sticky;z-index:20;top:42px;margin:0 -22px;padding:0 22px;background:rgba(245,240,230,.94);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:0}.minimal-topbar.no-back{height:0}.minimal-topbar.has-back{height:46px}.minimal-topbar .icon-btn{left:14px}

.home-screen .scenario.selected,.home-screen .scenario:active{outline:0!important;outline-offset:0!important;border-color:transparent!important;background:var(--soft)!important;filter:none!important;box-shadow:none!important;-webkit-tap-highlight-color:transparent}.home-screen .scenario:nth-child(3n+1).selected,.home-screen .scenario:nth-child(3n+1):active{background:var(--orange)!important}.home-screen .scenario:nth-child(3n+3).selected,.home-screen .scenario:nth-child(3n+3):active{background:var(--ink)!important}.home-screen .scenario.selected:before,.home-screen .scenario:active:before{background:radial-gradient(circle,currentColor .65px,transparent .8px)!important;background-size:4px 4px!important}.home-screen .scenario.selected{transform:translateY(-4px)!important}.home-screen .scenario:active{transform:translateY(-2px)!important}
.home-screen .scenario.selected{box-shadow:0 8px 20px rgba(17,17,15,.08)!important}.home-screen .scenario:active{box-shadow:0 4px 12px rgba(17,17,15,.055)!important}.flying-scenario.scenario{background:var(--fly-bg)!important;background-color:var(--fly-bg)!important;color:var(--fly-color)!important;filter:none!important;mix-blend-mode:normal!important;box-shadow:0 10px 24px rgba(17,17,15,.08)!important}

/* Prefer height growth over awkward wraps / ellipsis truncation */
.hero h1,.home-screen .hero h1,.setup h1,.question h1,.result h1,.history h1,.tendency-choice,.scenario-name{word-break:keep-all;overflow-wrap:anywhere}
.home-screen .scenario{height:auto!important;min-height:148px!important}
.home-screen .scenario-example{white-space:normal;overflow:visible;text-overflow:clip;word-break:keep-all}
.option span{word-break:keep-all}

/* Hide scrollbars, keep scroll; do not reserve gutter */
html,body,#app,.app-shell,.screen{scrollbar-width:none;-ms-overflow-style:none;scrollbar-gutter:auto}
html::-webkit-scrollbar,body::-webkit-scrollbar,#app::-webkit-scrollbar,.app-shell::-webkit-scrollbar,.screen::-webkit-scrollbar{display:none;width:0;height:0}
