:root{--bg:#0F1113;--surface:#16191C;--surface-2:#1C2024;--border:#2A2E33;--text:#EDEDED;--text-2:#A9ADB2;--placeholder:#6F747A;--error:#B44A4A;--container: 820px;--pad: 24px;--gap: 16px;--card-pad: 20px;--radius: 16px;--h1: 36px;--h1-tight: 32px;--h2: 15px;--kicker: 12px;--control-h: 56px;--t180: .18s;--t220: .22s;--t300: .3s;--t900: .9s}@media(orientation:landscape){:root{--container: 1080px;--h1: 40px;--h1-tight: 36px}}@media(max-width:560px){:root{--pad: 18px;--card-pad: 16px;--h1: 30px;--h1-tight: 28px}}*{box-sizing:border-box}html,body{height:100%}html{background:var(--bg)}body{margin:0;color:var(--text);background:radial-gradient(980px 620px at 18% 12%,#ededed0f,#0f111300 62%),radial-gradient(820px 620px at 82% 18%,#a9adb20a,#0f111300 62%),var(--bg);font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Segoe UI,Roboto,Inter,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}input,textarea,button{font:inherit;font-size:16px}button{-webkit-tap-highlight-color:transparent}::placeholder{color:var(--placeholder)}::selection{background:#ededed2e}@media(max-width:640px){body{overflow:auto}}.wrap{height:100vh;height:100dvh;padding:calc(var(--pad) + env(safe-area-inset-top)) var(--pad) calc(var(--pad) + env(safe-area-inset-bottom)) var(--pad);display:flex;justify-content:center}.app{width:100%;max-width:var(--container);height:100%;display:flex;flex-direction:column;gap:14px}.topbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border:1px solid rgba(42,46,51,.55);background:#16191c85;border-radius:var(--radius);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:12px;min-width:240px}.brandIcon{width:30px;height:30px;border-radius:10px;border:1px solid rgba(237,237,237,.12);overflow:hidden;display:grid;place-items:center;background:#ededed0a}.brandIcon img{width:22px;height:22px;object-fit:contain;opacity:.95}.brandStack{display:flex;flex-direction:column;gap:4px}.brandStack img{height:20px;width:auto;object-fit:contain}.brandSub{font-size:12px;color:var(--text-2);letter-spacing:.01em}.topRight{display:flex;flex-direction:column;align-items:flex-end;gap:6px}.timeText{font-size:12px;color:var(--text-2)}.miniProg{width:150px;height:6px;border-radius:999px;background:#1c2024db;border:1px solid rgba(42,46,51,.75);overflow:hidden}.miniProg>div{height:100%;width:0%;border-radius:999px;background:linear-gradient(90deg,#edededeb,#ededed8c);transition:width var(--t220) ease}.stage{flex:1 1 auto;position:relative;border-radius:18px;border:1px solid rgba(42,46,51,.85);background:#16191cc2;overflow:hidden}.stage:before{content:"";position:absolute;inset:-180px;background:radial-gradient(560px 480px at var(--sx, 20%) var(--sy, 18%),rgba(237,237,237,.085),rgba(22,25,28,0) 64%);pointer-events:none;opacity:.95;transition:opacity var(--t300) ease}.viewport{position:absolute;inset:0}.screen{position:absolute;inset:0;padding:28px 26px calc(106px + env(safe-area-inset-bottom)) 26px;opacity:0;transform:translate(14px);pointer-events:none;transition:opacity var(--t220) ease,transform var(--t220) ease;display:flex;flex-direction:column}@media(orientation:landscape){.screen{padding:24px 24px calc(106px + env(safe-area-inset-bottom)) 24px}}.sceneGrid{display:flex;flex-direction:column;gap:18px;flex:1;min-height:0}.sceneGrid .card{margin-top:0}.sceneBody{min-height:0}@media(orientation:landscape)and (min-width:900px){.sceneGrid{display:grid;grid-template-columns:340px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:18px;align-items:stretch}.sceneMeta{padding-top:6px;align-self:start}.sceneBody{align-self:stretch}}.screen.active{opacity:1;transform:none;pointer-events:auto}@media(max-width:560px){.screen{padding:22px 18px calc(184px + env(safe-area-inset-bottom)) 18px}.miniProg{width:120px}.topbar{height:64px;padding:10px 14px}.brandIcon{width:40px;height:40px;border-radius:14px}.brandTitle{font-size:14px}.brandSub{font-size:11px}}.kicker{font-size:var(--kicker);color:var(--text-2);letter-spacing:.14em;text-transform:uppercase}.h1{margin:14px 0 10px;font-size:var(--h1);line-height:1.06;letter-spacing:-.035em}.h1.tight{font-size:var(--h1-tight)}.h2{margin:0;font-size:var(--h2);line-height:1.65;color:var(--text-2);max-width:64ch}.card{margin-top:18px;padding:var(--card-pad);background:#1c20248f;border:1px solid rgba(42,46,51,.86);border-radius:var(--radius)}.cardTitle{font-size:13px;color:var(--text-2);margin-bottom:12px;letter-spacing:.02em}.reviewGrid{display:grid;grid-template-columns:1fr;gap:12px}@media(orientation:landscape){.reviewGrid{grid-template-columns:1fr 1fr}}.reviewCard{padding:14px 16px;margin-top:0}.reviewCard.flash{animation:reviewFlash .9s ease-out 1}@keyframes reviewFlash{0%{box-shadow:0 0 0 1px #ffffff38 inset,0 0 0 1px #ffffff1a}to{box-shadow:0 0 #fff0 inset,0 0 #fff0}}.reviewSpan{grid-column:1 / -1}.reviewHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.reviewTitle{font-size:13px;color:#edededeb;letter-spacing:.06em;text-transform:uppercase}.reviewRows{display:flex;flex-direction:column;gap:0}.reviewRow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid rgba(42,46,51,.55)}.reviewRow:last-child{border-bottom:none}.reviewKey{font-size:12px;color:var(--text-2);padding-top:2px;min-width:120px}.reviewVal{font-size:13px;color:#edededeb;text-align:right;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reviewNote{font-size:13px;color:#ededede6;line-height:1.4;padding:6px 0 2px;white-space:pre-wrap}.footer{position:absolute;left:0;right:0;bottom:0;padding:14px 16px;padding-bottom:calc(14px + env(safe-area-inset-bottom));background:linear-gradient(to top,#0f1113f0,#0f111300)}.footerMeta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.footerLeft{min-width:140px;display:flex;align-items:center;gap:10px;color:var(--text-2);font-size:12px}.dot{width:7px;height:7px;border-radius:50%;background:#a9adb2bf}.dot.ok{background:#edededd1}.footerBtns{display:grid;grid-template-columns:1fr;gap:12px;width:100%}.footerBtns.two{grid-template-columns:1fr 1fr}.footerBtns .btn{width:100%}@media(max-width:560px){.footerBtns.two{grid-template-columns:1fr}}.btn{height:var(--control-h);padding:0 18px;border-radius:var(--radius);border:1px solid rgba(42,46,51,.92);background:#1c2024d1;color:var(--text);cursor:pointer;transition:transform var(--t180) ease,border-color var(--t180) ease,box-shadow var(--t180) ease,opacity var(--t180) ease;white-space:nowrap}.btn:hover{transform:translateY(-1px);border-color:#3a4047}.btn:disabled{opacity:.45;pointer-events:none}.btn.primary{background:#edededf5;color:#000;border-color:#ededed38}.btn.ghost{background:transparent}.field{margin-top:14px}.label{font-size:13px;color:var(--text-2);margin-bottom:8px}.input{height:var(--control-h);width:100%;border-radius:var(--radius);border:1px solid rgba(42,46,51,.92);background:#1c2024c2;color:var(--text);padding:0 14px;outline:none;font-size:16px;transition:border-color var(--t180) ease,box-shadow var(--t180) ease}.datePartsGrid{display:grid;grid-template-columns:1fr 1fr 1.6fr;gap:12px}.datePart{padding:0 12px;text-align:center;font-variant-numeric:tabular-nums}.inputButton{display:flex;align-items:center;justify-content:space-between;cursor:pointer;-webkit-user-select:none;user-select:none}.inputButtonText{color:var(--text)}.inputButtonPlaceholder{color:var(--placeholder)}.chev{margin-left:12px;opacity:.55;font-size:14px;transform:translateY(-1px)}.sheetOverlay{position:fixed;inset:0;z-index:999;background:#0f1113b8;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:flex-end;justify-content:center;padding:24px;padding-top:calc(24px + env(safe-area-inset-top));padding-bottom:calc(24px + env(safe-area-inset-bottom))}@media(orientation:landscape){.sheetOverlay{align-items:center}}.sheet{width:min(560px,100%);border-radius:18px;border:1px solid rgba(42,46,51,.85);background:#16191cf5;box-shadow:0 24px 70px #0000008c;padding:14px 14px 12px;max-height:calc(100dvh - 48px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;animation:sheetIn var(--t220) ease both}@keyframes sheetIn{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.sheetHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.sheetHeadRight{display:flex;align-items:center;gap:10px}.sheetTitle{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}.btn.mini{height:36px;padding:0 12px;border-radius:12px;font-size:13px}.picker{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:10px}.picker3{grid-template-columns:1fr 1fr 1fr}.pickerCol{border-radius:16px;border:1px solid rgba(42,46,51,.85);background:#1c20248f;overflow:hidden}.pickerList{height:240px;overflow:auto;scrollbar-width:none;scroll-snap-type:y mandatory;overscroll-behavior:contain}.pickerList::-webkit-scrollbar{display:none}.pickerItem{display:flex;align-items:center;justify-content:center;scroll-snap-align:center;color:#edededb8;font-size:16px}.pickerItem.active{color:#edededf5;font-weight:650}.pickerFocus{position:absolute;left:10px;right:10px;top:50%;transform:translateY(-50%);height:44px;border-radius:14px;background:#ededed0f;border:1px solid rgba(237,237,237,.12);pointer-events:none}.sheetHint{margin-top:10px;font-size:12px;color:var(--text-2);text-align:center}.sheetActions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.sheetHintRow{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheetHintRow .sheetHint{margin-top:0;flex:1 1 auto}.textarea{width:100%;min-height:120px;border-radius:var(--radius);border:1px solid rgba(42,46,51,.92);background:#1c2024c2;color:var(--text);padding:12px 14px;outline:none;resize:none;transition:border-color var(--t180) ease,box-shadow var(--t180) ease}.input:focus,.textarea:focus{border-color:#ededed6b;box-shadow:0 0 0 4px #ededed14}.errorText{margin-top:8px;font-size:12px;color:var(--error)}.input.error,.textarea.error{border-color:#b44a4af2;box-shadow:0 0 0 4px #b44a4a1f}.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--gap)}@media(max-width:560px){.grid2{grid-template-columns:1fr}}.tile{padding:18px;border-radius:var(--radius);border:1px solid rgba(42,46,51,.92);background:linear-gradient(135deg,#ededed0f,#1c202400),#1c2024b3;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--t180) ease,border-color var(--t180) ease,opacity var(--t180) ease,box-shadow var(--t180) ease;position:relative}.tile:hover{transform:translateY(-1px);border-color:#3a4047}.tile.selected{border-color:#ededed8c;box-shadow:0 0 0 4px #ededed14}.tile.dim{opacity:.45}.tile.full{grid-column:1 / -1;text-align:center}.tileTitle{font-size:16px;font-weight:700;letter-spacing:-.01em}.tileSub{margin-top:8px;font-size:12px;color:var(--text-2);line-height:1.35}.pillGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}@media(max-width:560px){.pillGrid{grid-template-columns:1fr}}.pill{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(42,46,51,.86);background:#1c20248a;cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--t180) ease,border-color var(--t180) ease,opacity var(--t180) ease}.pill:hover{transform:translateY(-1px);border-color:#3a4047}.pill.checked{border-color:#ededed73}.pill.disabled{opacity:.42;pointer-events:none}.pillIcon{width:18px;height:18px;border-radius:7px;border:1px solid rgba(42,46,51,1);background:#1c2024d9;flex:0 0 auto;margin-top:2px;position:relative}.pill.checked .pillIcon{border-color:#ededed85;box-shadow:0 0 0 4px #ededed0f}.pill.checked .pillIcon:after{content:"";position:absolute;left:5px;top:2px;width:6px;height:10px;border-right:2px solid rgba(237,237,237,.92);border-bottom:2px solid rgba(237,237,237,.92);transform:rotate(40deg)}.pillText{display:flex;flex-direction:column;gap:3px}.pillText b{font-size:13px}.pillText span{font-size:12px;color:var(--text-2);line-height:1.35}.compact .pill{padding:10px}.compact .pillText b{font-size:12.5px}.compact .pillText span{font-size:11.5px}.ritual{position:absolute;inset:0;background:#0f1113b8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity var(--t300) ease;z-index:60}.ritual.on{opacity:1;pointer-events:auto}.ritualCard{width:min(520px,90%);border-radius:18px;border:1px solid rgba(42,46,51,.75);background:#16191cd1;padding:22px;transform:translateY(10px) scale(.985);opacity:0}.ritual.on .ritualCard{animation:ritualIn .42s cubic-bezier(.2,.9,.2,1) both}@keyframes ritualIn{0%{transform:translateY(10px) scale(.985);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.ritualTitle{font-size:18px;font-weight:700;letter-spacing:-.01em}.ritualSub{margin-top:10px;color:var(--text-2);font-size:14px;line-height:1.55}.ritualBar{margin-top:14px;height:4px;border-radius:999px;border:1px solid rgba(237,237,237,.12);background:#ededed0f;overflow:hidden}.ritualBarFill{height:100%;width:36%;border-radius:999px;background:linear-gradient(90deg,#ededed00,#edededbf,#ededed00);animation:ritualSweep .92s ease-in-out infinite}@keyframes ritualSweep{0%{transform:translate(-130%)}to{transform:translate(320%)}}.center{flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.bigCheck{width:82px;height:82px;border-radius:26px;background:linear-gradient(135deg,#ededed29,#ededed0a);border:1px solid rgba(237,237,237,.16);display:flex;align-items:center;justify-content:center;margin:0 auto 18px;font-size:36px}.timeline{width:min(520px,92%);margin:16px auto 0;text-align:left;border-radius:var(--radius);border:1px solid rgba(42,46,51,.86);background:#1c202485;padding:16px}.trow{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(42,46,51,.55)}.trow:last-child{border-bottom:none}.badge{width:20px;height:20px;border-radius:8px;border:1px solid rgba(237,237,237,.16);background:#ededed0f;display:grid;place-items:center;font-size:12px;flex:0 0 auto}.ttext b{font-size:13px}.ttext span{display:block;font-size:12px;color:var(--text-2);margin-top:2px}.cardScroll{flex:1 1 auto;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-y}.cardScroll::-webkit-scrollbar{display:none}.confirmCard{display:flex;flex-direction:column;min-height:0}.confirmScroll{flex:1 1 auto;min-height:0}.confirmDock{margin-top:12px;padding-top:12px;border-top:1px solid rgba(42,46,51,.55)}@media(prefers-reduced-motion:reduce){.screen{transition:none!important}.sheet{animation:none!important}.btn,.card{transition:none!important}}
