.obv2{--surface:#211D27;--surface2:#2D2734;--line:#403849;--gold-d:#D9A033;--warn:#FF8A4C;--sky:#66C7F0;--px:var(--font-pixelify),"Pixelify Sans","Nunito",system-ui,sans-serif;--ui:var(--font-nunito),"Nunito",system-ui,sans-serif;position:relative;width:100%;min-height:100dvh;background:var(--ink);color:var(--milk);font-family:var(--ui);font-size:16px;line-height:1.45;display:flex;flex-direction:column;overflow:hidden}.obv2 canvas{image-rendering:pixelated;image-rendering:crisp-edges;display:block}.obv2 .top{flex:0 0 auto;height:52px;justify-content:space-between;padding:0 12px}.obv2 .iconbtn,.obv2 .top{display:flex;align-items:center}.obv2 .iconbtn{width:40px;height:40px;border-radius:12px;border:1px solid transparent;background:none;justify-content:center;color:var(--muted)}.obv2 .iconbtn:hover{color:var(--milk)}.obv2 .body{flex:1 1 auto;overflow-y:auto;overflow-x:hidden;padding:4px 20px 20px;-webkit-overflow-scrolling:touch}.obv2 .foot{flex:0 0 auto;padding:10px 20px calc(16px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:8px}.obv2 .foot:empty{display:none}.obv2 .enter{animation:obEnter .28s ease-out both}@keyframes obEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.obv2 .h1{font-family:var(--px);font-weight:600;font-size:28px;line-height:1.15;margin:14px 0 8px;letter-spacing:.2px}.obv2 .lede{margin:0 0 12px}.obv2 .fine,.obv2 .lede{color:var(--muted);font-weight:600}.obv2 .fine{font-size:13px;margin:10px 0 0}.obv2 .btn,.obv2 .center{text-align:center}.obv2 .btn{height:52px;border:none;border-radius:12px;background:var(--gold);color:var(--ink);font-weight:800;font-size:16px;padding:0 18px;box-shadow:inset 0 -3px 0 0 var(--gold-d);display:inline-flex;align-items:center;justify-content:center;gap:8px;width:auto}.obv2 .btn:active{transform:translateY(1px);box-shadow:inset 0 -1px 0 0 var(--gold-d)}.obv2 .btn[disabled]{opacity:.35;cursor:default;transform:none}.obv2 .btn.wide{width:100%}.obv2 .btn.plain{background:var(--surface2);color:var(--milk);box-shadow:inset 0 -3px 0 0 #1C1822;border:1px solid var(--line)}.obv2 .btn.sm{height:40px;font-size:14px;padding:0 13px;border-radius:10px}.obv2 .btn.link{background:none;box-shadow:none;color:var(--muted);height:40px;text-decoration:underline;text-underline-offset:3px}.obv2 .stagewrap{position:relative;display:flex;justify-content:center;margin:6px auto 4px}.obv2 .stagewrap:before{content:"";position:absolute;left:50%;top:52%;width:300px;height:220px;transform:translate(-50%,-50%);background:radial-gradient(closest-side,rgba(255,200,87,.16),rgba(255,200,87,0));pointer-events:none}.obv2 .stage{position:relative}.obv2 .stage.lg{width:320px;height:256px}.obv2 .stage.md{width:240px;height:192px}.obv2 .stage.sm{width:160px;height:128px}.obv2 .stage.opt{width:120px;height:108px}.obv2 .tapbox{background:none;border:none;padding:0;display:block;margin:0 auto}.obv2 .taphint{text-align:center;color:var(--muted);font-weight:700;margin:0}.obv2 .say{position:relative;background:var(--milk);color:var(--ink);border-radius:16px;padding:11px 14px 12px;margin:10px 0 6px}.obv2 .say:before{content:"";position:absolute;top:-7px;left:50%;width:14px;height:14px;margin-left:-7px;background:var(--milk);transform:rotate(45deg);border-radius:3px}.obv2 .say .who{display:block;font-family:var(--px);font-weight:600;font-size:13px;color:#8A6A1F;margin-bottom:1px}.obv2 .say p{margin:0;font-weight:800;font-size:15.5px;line-height:1.35}.obv2 .say p+p{margin-top:4px;font-weight:600}.obv2 .say.pop{animation:obPop .22s ease-out both}@keyframes obPop{0%{transform:scale(.96);opacity:.4}to{transform:none;opacity:1}}.obv2 .field{display:block;margin:14px 0 0;padding:0;height:auto;background:none;border:none;border-radius:0;align-items:normal;gap:0}.obv2 .field:focus-within{border:none}.obv2 .field .inp,.obv2 .field input,.obv2 .field textarea{flex:none;width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:0 14px;color:var(--milk);font-weight:700;font-size:16px;outline:none}.obv2 .field textarea{height:auto;min-height:44px;padding:11px 14px}.obv2 .field .inp:focus{border-color:var(--gold)}.obv2 .field .inp.err{border-color:var(--neglected)}.obv2 .field .inrow .inp{width:auto;flex:1 1 auto;min-width:0}.obv2 .lbl{display:block;font-size:13px;font-weight:800;color:var(--muted);margin-bottom:6px}.obv2 .inp{width:100%;height:48px;border-radius:12px;border:1px solid var(--line);background:var(--surface);padding:0 14px;color:var(--milk);font-weight:700;font-size:16px}.obv2 textarea.inp{height:auto;min-height:44px;padding:11px 14px;resize:vertical}.obv2 .inp::placeholder{color:#6E6578}.obv2 .inp:focus{outline:none;border-color:var(--gold)}.obv2 .inp.err{border-color:var(--neglected)}.obv2 .inrow{display:flex;gap:8px;align-items:center}.obv2 .mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.3px}.obv2 .chips{display:flex;flex-wrap:wrap;gap:8px}.obv2 .chip{min-height:38px;padding:7px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface2);color:var(--milk);font-weight:700;font-size:14px;height:auto}.obv2 .chip[aria-pressed=true]{background:var(--gold);color:var(--ink);border-color:var(--gold)}.obv2 .grp{margin-top:14px}.obv2 .card{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:12px}.obv2 .cap2,.obv2 .card b{font-weight:800}.obv2 .cap2{font-size:12px;color:var(--muted)}.obv2 .big{font-family:var(--ui);font-size:24px;font-weight:800;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.obv2 .tag{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--muted);margin-top:4px;height:auto;padding:0;background:none}.obv2 .errline{color:var(--neglected);font-size:13px;font-weight:700;margin-top:6px}.obv2 .opts{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px;margin-top:14px}.obv2 .opt{background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.obv2 .opt b{font-family:var(--px);font-size:20px;font-weight:600}.obv2 .opt span{color:var(--muted);font-size:13px;font-weight:700}.obv2 .opt[aria-pressed=true]{border-color:var(--gold);background:#2A2420}.obv2 .wcard{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:10px}.obv2 .wtop{display:flex;justify-content:space-between;align-items:center}.obv2 .badge{font-size:12px;font-weight:800;padding:3px 8px;border-radius:8px;background:var(--surface2);color:var(--muted);border:1px solid var(--line)}.obv2 .addr{color:var(--muted);font-size:14px;font-weight:700;margin-top:2px}.obv2 .sniffzone{position:relative}.obv2 .floattok{position:absolute;padding:4px 9px;border-radius:9px;background:var(--surface2);border:1px solid var(--line);font-weight:800;font-size:13px;color:var(--milk);animation:obFloat .45s ease-out both;white-space:nowrap}@keyframes obFloat{0%{opacity:0;transform:translateY(8px) scale(.9)}to{opacity:1;transform:none}}.obv2 .steps{list-style:none;padding:0;margin:12px 0 0;display:flex;flex-direction:column;gap:8px}.obv2 .steps li{display:flex;gap:10px;align-items:flex-start;font-weight:700;animation:obEnter .3s ease-out both}.obv2 .steps .ck{flex:0 0 auto;margin-top:3px}.obv2 .lnk{background:none;border:none;padding:0;color:var(--gold);font-weight:800;text-decoration:underline;text-underline-offset:3px}.obv2 .lim{margin-top:14px}.obv2 .limnum{font-family:var(--ui);font-size:34px;font-weight:800;letter-spacing:-.5px;text-align:center;min-height:44px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.obv2 .limnum.unset{font-family:var(--ui);font-size:15px;color:var(--muted);font-weight:800;padding-top:12px}.obv2 .rng{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:44px;background:transparent;margin:4px 0 0}.obv2 .rng::-webkit-slider-runnable-track{height:8px;border-radius:4px;background:var(--surface2);border:1px solid var(--line)}.obv2 .rng::-moz-range-track{height:8px;border-radius:4px;background:var(--surface2);border:1px solid var(--line)}.obv2 .rng::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-11px;border-radius:8px;background:var(--gold);box-shadow:inset 0 -3px 0 var(--gold-d);border:none}.obv2 .rng::-moz-range-thumb{width:28px;height:28px;border-radius:8px;background:var(--gold);border:none}.obv2 .rng.unset::-webkit-slider-thumb{opacity:0}.obv2 .rng.unset::-moz-range-thumb{opacity:0}.obv2 .ends{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;font-weight:800}.obv2 .preview{text-align:center;font-weight:800;margin:8px 0 0;min-height:22px}.obv2 .preview.over{color:var(--warn)}.obv2 .decide{flex-direction:column;gap:8px}.obv2 .decide,.obv2 .limsum{display:flex;margin-top:12px}.obv2 .limsum{justify-content:space-between;align-items:center;font-weight:700}.obv2 .plan{font-family:var(--px);font-size:22px;line-height:1.4;margin:14px 0 4px}.obv2 .blank{display:inline-block;min-width:96px;border-bottom:2px solid var(--gold);color:var(--gold);text-align:center;padding:0 4px}.obv2 .blank.empty{color:transparent}.obv2 .lock{margin-top:12px;border-radius:20px;padding:18px 14px 14px;background:linear-gradient(180deg,#2A2433,#1B1722);border:1px solid var(--line);text-align:center}.obv2 .lt{font-family:var(--px);font-size:44px;font-weight:600;line-height:1}.obv2 .ld{color:var(--muted);font-weight:800;font-size:13px;margin-top:4px}.obv2 .notif{display:flex;gap:10px;align-items:center;text-align:left;margin-top:16px;background:rgba(255,248,231,.94);color:var(--ink);border-radius:14px;padding:10px 12px}.obv2 .notif canvas.stage{width:40px;height:40px;border-radius:10px;background:var(--ink);flex:0 0 auto}.obv2 .notif b{font-weight:800;font-size:14px}.obv2 .notif p{margin:0;font-weight:600;font-size:14px;line-height:1.3}.obv2 .notif .t{margin-left:auto;align-self:flex-start;font-size:12px;color:#6B6375;font-weight:700}.obv2 .promise{text-align:center;font-weight:800;margin:12px 0 0}.obv2 .tgl{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;text-align:left;height:auto}.obv2 .tgl small{display:block;color:var(--muted);font-weight:700;font-size:13px}.obv2 .sw{width:46px;height:28px;border-radius:14px;background:var(--surface2);border:1px solid var(--line);position:relative;flex:0 0 auto}.obv2 .sw:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:6px;background:var(--muted);transition:left .15s}.obv2 .tgl[aria-pressed=true] .sw{background:#5C4B2A;border-color:var(--gold)}.obv2 .tgl[aria-pressed=true] .sw:after{left:21px;background:var(--gold)}.obv2 .pact{list-style:none;padding:0;margin:10px 0 0;display:flex;flex-direction:column;gap:10px}.obv2 .pact li{font-family:var(--px);font-size:20px;font-weight:500;line-height:1.3;text-align:center;animation:obEnter .35s ease-out both}.obv2 .pact li b{color:var(--gold);font-weight:600}.obv2 .pawbtn{position:relative;width:104px;height:104px;margin:18px auto 6px;display:block;border:none;background:none;padding:0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-touch-callout:none}.obv2 .pawbtn svg.ring{position:absolute;inset:0;transform:rotate(-90deg)}.obv2 .pawbtn .pad{position:absolute;inset:12px;border-radius:50%;background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:transform .12s}.obv2 .pawbtn.holding .pad{transform:scale(.94);background:#2A2420}.obv2 .pawbtn.done .pad{background:var(--gold)}.obv2 .roomcard{position:relative;border-radius:16px;border:1px solid var(--line);overflow:hidden;background:var(--ink);height:230px}.obv2 .roomcard img{position:absolute;left:50%;top:-290px;transform:translateX(-50%);width:390px;height:560px;image-rendering:pixelated}.obv2 .meter{margin-top:12px}.obv2 .bar{position:relative;height:10px;border-radius:5px;background:var(--surface2);border:1px solid var(--line);overflow:visible}.obv2 .bar i{position:absolute;left:0;top:0;bottom:0;border-radius:5px;background:var(--gold);transition:width .6s ease-out}.obv2 .bar .mark{position:absolute;left:80%;top:-4px;bottom:-4px;width:2px;background:var(--milk);opacity:.6}.obv2 .barl{display:flex;justify-content:space-between;font-size:12px;font-weight:800;color:var(--muted);margin-top:6px}.obv2 .unlock{display:inline-flex;align-items:center;gap:8px;margin-top:8px;padding:6px 10px;border-radius:10px;background:#3A2430;border:1px solid #6a3a50;color:var(--pink);font-weight:800;font-size:14px;animation:obPop .3s ease-out both}.obv2 .tokrow{display:flex;justify-content:space-between;align-items:baseline}.obv2 .tokrow b{font-family:var(--px);font-size:22px;font-weight:600}.obv2 .tokrow span{color:var(--muted);font-weight:800;font-size:13px}.obv2 details.more summary{cursor:pointer;margin-top:12px}.obv2 .mini,.obv2 details.more summary{color:var(--muted);font-weight:800;font-size:14px}.obv2 .mini{display:flex;align-items:center;gap:6px}.obv2 .mini .inp{width:96px}.obv2 .scrim{position:fixed;inset:0;background:rgba(8,6,12,.62);display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:obFade .2s ease-out both}@keyframes obFade{0%{opacity:0}to{opacity:1}}.obv2 .sheet{width:100%;max-width:390px;background:#1E1A24;border-top:1px solid var(--line);border-radius:22px 22px 0 0;padding:10px 18px calc(22px + env(safe-area-inset-bottom,0px));animation:obRise .25s ease-out both}@keyframes obRise{0%{transform:translateY(30px)}to{transform:none}}.obv2 .grab{width:40px;height:4px;border-radius:2px;background:var(--line);margin:0 auto 12px}.obv2 .sheet h3{font-family:var(--px);font-weight:600;font-size:22px;margin:2px 0 6px}.obv2 .btnrow{display:flex;gap:8px}.obv2 .btnrow .btn{flex:1 1}.obv2 .pixback{width:20px;height:20px}@media (prefers-reduced-motion:reduce){.obv2 *{animation-duration:.001ms!important;transition-duration:.001ms!important}}.obv2 .or{display:flex;align-items:center;gap:10px;margin:16px 0 12px;color:var(--muted);font-size:13px;font-weight:800}.obv2 .or:after,.obv2 .or:before{content:"";flex:1 1;height:1px;background:var(--line)}.obv2 .walletslot:not(:has(button,a)){display:none}