:root{--bg:#0d0f13;--panel:#11151d;--border:#232833;--gold:#b58a4b;--ivory:#f5f2ea;--muted:#6b7588;--count:#ece0ca}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,Pretendard,"Noto Sans KR",system-ui,sans-serif}.smart{background:radial-gradient(circle at 50% 18%,#182033 0,#0d0f13 44%,#090b0f 100%);color:var(--ivory);min-height:100dvh}.counter-shell{min-height:100dvh;display:flex;flex-direction:column;align-items:center;padding:calc(env(safe-area-inset-top) + 12px) 24px calc(env(safe-area-inset-bottom) + 18px);position:relative;overflow:hidden}.micro-head{width:100%;display:flex;justify-content:center;font-size:10px;color:#4f5a70;letter-spacing:.12em}.brand{font-weight:800;color:#8a94a8}.affirmation{margin-top:18vh;min-height:15vh;max-width:86vw;text-align:center;font-size:clamp(32px,9vw,40px);font-weight:800;line-height:1.32;letter-spacing:-.02em;word-break:keep-all}.affirmation:after{content:"";display:block;width:24px;height:2px;margin:16px auto 0;background:linear-gradient(90deg,transparent,var(--gold),transparent)}.count-wrap{display:flex;align-items:flex-end;gap:8px;margin-top:20px}.count-wrap strong{font-size:72px;line-height:1;font-variant-numeric:tabular-nums;color:var(--count)}.count-wrap span{font-size:18px;color:var(--muted);margin-bottom:7px}.progress{width:240px;height:4px;border-radius:8px;background:var(--border);margin-top:24px;overflow:hidden}.progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#806134,var(--gold),#d1b170)}.tap{margin-top:34px;width:96px;height:96px;border:1px solid rgba(255,255,255,.6);border-radius:50%;font-size:23px;font-weight:900;background:#fff;color:#0d1117;box-shadow:0 0 34px rgba(181,138,75,.2)}.handle{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 10px);width:64px;height:32px;background:transparent;border:0}.handle:after{content:"";display:block;width:36px;height:4px;margin:auto;border-radius:6px;background:var(--border)}.sheet{position:absolute;left:0;right:0;bottom:0;z-index:20;background:rgba(17,21,29,.98);border:1px solid var(--border);border-radius:24px 24px 0 0;padding:24px 18px calc(env(safe-area-inset-bottom) + 20px);display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sheet[hidden]{display:none}.sheet button{min-height:56px;border:1px solid var(--border);border-radius:16px;background:#0d1117;color:#d9dfeb;font-weight:700}.sheet-meta{grid-column:1/-1;text-align:center;font-size:10px;color:#5f697d;padding-top:6px}.sheet-info{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;padding:12px 8px;color:#dfe5ef}.sheet-info b{font-size:20px;color:#ece0ca}.sheet-info span{font-size:14px;color:#b58a4b}.sheet-info small{font-size:11px;line-height:1.5;color:#6b7588}.phrase-choice{grid-column:span 2}.complete{position:absolute;inset:0;z-index:30;background:rgba(13,15,19,.98);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;padding:24px}.complete[hidden]{display:none}.complete b{font-size:28px;color:var(--count)}.complete strong{font-size:20px;color:var(--gold)}.complete button{width:min(320px,88vw);min-height:52px;border-radius:16px;border:1px solid var(--gold);background:var(--gold);color:#0d1117;font-weight:900}.complete button+button{background:transparent;color:var(--ivory);border-color:#303743}.toast{position:absolute;left:50%;bottom:84px;transform:translateX(-50%);z-index:50;background:#171c25;border:1px solid var(--border);border-radius:999px;padding:10px 14px;font-size:12px;color:#dce3ef}.web-body{margin:0;background:#f7f8fb;color:#182035}.topnav{height:64px;display:flex;align-items:center;gap:24px;padding:0 5vw;background:#fff;border-bottom:1px solid #e7eaf0}.topnav .logo{font-weight:900;color:#164c9f;font-size:22px}.topnav nav{display:flex;gap:18px;font-size:13px}.topnav a{color:#4a566e;text-decoration:none}.hero{min-height:420px;padding:84px 7vw;background:linear-gradient(135deg,#eef5ff,#f8f5ff 55%,#fff)}.hero h1{font-size:clamp(38px,5vw,72px);line-height:1.08}.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:40px 7vw 72px}.card{background:#fff;border:1px solid #e7eaf0;border-radius:20px;padding:22px;min-height:170px}@media(max-width:800px){.portal-grid{grid-template-columns:1fr}.topnav nav{display:none}}
.sheet-wide-title{grid-column:1/-1;font-size:12px;letter-spacing:.14em;color:#8a94a8;padding:4px 6px}.sheet-note{grid-column:1/-1;font-size:11px;line-height:1.5;color:#6b7588;padding:6px}.sheet-span{grid-column:span 2}.sheet-input{grid-column:1/-1;min-height:54px;border:1px solid var(--border);border-radius:14px;background:#0d1117;color:#f5f2ea;padding:0 14px;font:inherit}.trace-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.trace-grid div{min-height:88px;border:1px solid var(--border);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:#0d1117}.trace-grid strong{font-size:22px;color:var(--count)}.trace-grid span{font-size:10px;color:#6b7588}.focus{position:absolute;inset:0;z-index:40;background:radial-gradient(circle at 50% 36%,#172131,#0b0e13 66%);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;gap:24px}.focus[hidden]{display:none}.focus small{font-size:11px;letter-spacing:.2em;color:#758199}.focus strong{max-width:82vw;font-size:30px;line-height:1.35;color:#f5f2ea}.focus b{font-size:56px;font-variant-numeric:tabular-nums;color:#d8c29e}.focus button{width:min(280px,82vw);min-height:52px;border:1px solid #343c4b;border-radius:16px;background:#141923;color:#e9edf5;font-weight:800}.focus button+button{background:transparent;color:#7f899b}

.calendar-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day,.calendar-empty{min-height:48px;border-radius:12px}.calendar-day{border:1px solid var(--border);background:#0d1117;color:#cfd6e2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.calendar-day b{font-size:12px}.calendar-day span{font-size:9px;color:#b58a4b}.calendar-empty{display:block}.emotion-row{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.emotion-row button.active{border-color:var(--gold);color:#e8d5b3;background:#18150f}.archive-list{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;max-height:42vh;overflow:auto}.archive-row{display:flex;flex-direction:column;gap:4px;padding:12px;border:1px solid var(--border);border-radius:14px;background:#0d1117}.archive-row small{font-size:9px;color:#667187}.archive-row b{font-size:13px;line-height:1.45;color:#e2e7ef}.archive-row span{font-size:10px;color:#a38458}

.consent-line{grid-column:1/-1;min-height:48px;display:flex;align-items:center;gap:10px;padding:0 8px;color:#9ca6b8;font-size:12px}.consent-line input{width:20px;height:20px}.myreon{max-width:1120px;margin:0 auto 80px;padding:0 24px}.auth-panel,.my-panel{border:1px solid #e5e7eb;border-radius:24px;padding:28px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05)}.auth-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.auth-grid input{min-height:48px;border:1px solid #d9dde5;border-radius:12px;padding:0 14px;font:inherit}.auth-grid button{min-height:48px;border:0;border-radius:12px;background:#111827;color:white;font-weight:700}.auth-grid .secondary{background:#f3f4f6;color:#111827}.my-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.my-stats div{padding:18px;border:1px solid #e5e7eb;border-radius:16px}.my-stats b{display:block;font-size:24px}.my-records{display:grid;gap:10px;margin-top:20px}.my-records article{padding:14px 16px;border:1px solid #e5e7eb;border-radius:14px}.auth-status{margin-top:12px;font-size:13px;color:#667085}@media(max-width:720px){.auth-grid,.my-stats{grid-template-columns:1fr}.topnav nav{display:none}}

.change-list{grid-column:1/-1;display:flex;flex-direction:column;gap:7px}.change-row{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px}.change-row small,.change-row b{font-size:10px;color:#7e899d}.change-row div{height:8px;border-radius:999px;background:#171d27;overflow:hidden}.change-row i{display:block;height:100%;background:#b58a4b;border-radius:999px}.signal-list{grid-column:1/-1;display:flex;flex-direction:column;gap:8px}.signal-item{display:flex;gap:10px;align-items:center;padding:12px;border:1px solid var(--border);border-radius:14px;background:#0d1117}.signal-item span{color:#b58a4b}.signal-item b{font-size:13px;color:#e4e9f2}.circle-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.circle-member{min-height:98px;border:1px solid var(--border);border-radius:16px;background:#0d1117;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.circle-member strong{font-size:24px;color:#d8c29e}.circle-member span{font-size:11px;color:#d6dce7}.circle-member small{font-size:9px;color:#6b7588}

.space-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.space-tile{min-height:82px;border:1px solid var(--border);border-radius:16px;background:#0d1117;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.space-tile b{font-size:11px;color:#9aa5b8}.space-tile span{font-size:22px;color:#d8c29e}

.sheet-textarea{min-height:110px;resize:vertical;padding:12px 14px}.world-list{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;max-height:42vh;overflow:auto}.world-card{display:flex;gap:12px;align-items:flex-start;padding:13px;border:1px solid var(--border);border-radius:16px;background:#0d1117}.world-card>strong{font-size:22px;color:#d8c29e}.world-card div{display:flex;flex-direction:column;gap:3px;min-width:0}.world-card small{font-size:9px;color:#6b7588}.world-card b{font-size:13px;color:#e6ebf3}.world-card span{font-size:10px;color:#8b96a9;line-height:1.45}

.control-body{background:#f5f7fb}.control-main{max-width:1440px;margin:0 auto;padding:28px}.control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}.control-kpi{background:#fff;border:1px solid #e4e8ef;border-radius:18px;padding:20px}.control-kpi small{display:block;color:#718096;font-size:11px}.control-kpi b{display:block;margin-top:8px;font-size:24px;color:#172033}.control-panel{background:#fff;border:1px solid #e4e8ef;border-radius:20px;padding:20px;margin:16px 0}.control-panel h2{margin:0 0 14px;font-size:17px}.control-form{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-bottom:14px}.control-form input,.control-form select,.control-form textarea{min-height:42px;border:1px solid #d9dee8;border-radius:10px;padding:8px 10px;font:inherit}.control-form textarea{grid-column:1/-1;min-height:100px;resize:vertical}.control-form button,.control-table button{min-height:38px;border:0;border-radius:9px;background:#172033;color:#fff;padding:0 12px;font-weight:700}.table-scroll{overflow:auto}.control-table table{width:100%;border-collapse:collapse;font-size:12px}.control-table th,.control-table td{text-align:left;border-bottom:1px solid #eef1f5;padding:10px;vertical-align:top}.control-table th{color:#6b7280;font-weight:700}.control-table td{color:#263044}.control-table button{font-size:11px;min-height:32px;margin:2px}.control-body .topnav{position:sticky;top:0;z-index:10}
@media(max-width:900px){.control-grid{grid-template-columns:repeat(2,1fr)}.control-form{grid-template-columns:1fr}.control-main{padding:14px}}


/* RE:ON SMART master alignment — Reon-True-Final-Rebuild */
.smart{background:#0a0c0f;color:#f5f2ea;min-height:100dvh;display:flex;justify-content:center}
.smart .counter-shell{width:min(100vw,390px);height:100dvh;min-height:100dvh;max-height:844px;margin:auto;background:#11151d;padding:0;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:stretch}
.smart-head{height:56px;flex:0 0 56px;display:flex;align-items:center;justify-content:space-between;padding:8px 24px 0}
.stage-identity,.head-actions{display:flex;align-items:center;gap:10px}
.stage-identity{font-size:11px;letter-spacing:.025em;color:#6b7588}
.stage-dots{display:flex;gap:4px}.stage-dots i{width:6px;height:6px;border-radius:50%;background:#232833}.stage-dots i:first-child{background:#4a7bff}
.live-dot{width:6px;height:6px;border-radius:50%;background:#7fb069;box-shadow:0 0 0 3px rgba(127,176,105,.08)}
.goal-rate{padding:5px 10px;border-radius:999px;border:1px solid #2a3242;background:#151a24;color:#8b97ae;font-size:10px;font-variant-numeric:tabular-nums}
.info-button{width:32px;height:32px;min-width:32px;border:0;border-radius:50%;background:#151a24;color:#8b97ae;font-size:18px;line-height:1}
.declaration-zone{flex:1.6 1 0;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 32px}
.smart .affirmation{margin:0;min-height:0;max-width:100%;font-size:36px;font-weight:800;line-height:1.3;letter-spacing:-.03em;text-align:center;color:#f5f2ea;word-break:keep-all}
.smart .affirmation:after{display:none}
.declaration-line{width:24px;height:2px;border-radius:999px;margin-top:20px;background:rgba(216,201,166,.8)}
.stage-code{margin-top:12px;font-size:10px;letter-spacing:.16em;color:#4a566e}
.count-zone{flex:0 0 18%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 24px}
.smart .count-wrap{margin:0;display:flex;align-items:baseline;gap:8px}
.smart .count-wrap strong{font-size:72px;font-weight:900;line-height:1;letter-spacing:-.04em;color:#ece0ca;font-variant-numeric:tabular-nums}
.smart .count-wrap span{font-size:18px;color:#6b7588;margin:0}
.touch-caption{display:flex;gap:8px;align-items:center;margin-top:12px;font-size:11px;letter-spacing:.12em;color:#5b677f}
.touch-caption b{color:#232833;font-weight:400}
.smart .progress{width:240px;height:4px;margin-top:12px;background:#1e242f;border-radius:999px;overflow:hidden}
.smart .progress i{height:100%;background:#d8c9a6;border-radius:999px}
.action-zone{flex:0 0 22%;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:0 24px 96px}
.time-caption{display:flex;gap:6px;margin-bottom:8px;font-size:11px;letter-spacing:.025em;color:#6b7588;font-variant-numeric:tabular-nums}.time-caption b{font-weight:400}
.action-ring{position:relative;width:120px;height:120px}
.action-ring svg{position:absolute;inset:0;width:120px;height:120px;transform:rotate(-90deg)}
.action-ring circle{fill:none}
.ring-base{stroke:#1e242f;stroke-width:3}.ring-progress{stroke:#ece0ca;stroke-width:3;stroke-linecap:round;stroke-dasharray:339.292;stroke-dashoffset:339.292;transition:stroke-dashoffset .4s ease}
.ring-inner-base{stroke:#232833;stroke-width:2}.ring-count{stroke:#d8c9a6;stroke-width:2;stroke-linecap:round;stroke-opacity:.45;stroke-dasharray:289.027;stroke-dashoffset:289.027;transition:stroke-dashoffset .3s ease}
.smart .tap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);margin:0;width:96px;height:96px;border:0;border-radius:50%;background:#fff;color:#0a0c0f;box-shadow:0 8px 30px rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center}
.pause-mark{display:flex;gap:5px}.pause-mark i{display:block;width:3px;height:18px;border-radius:999px;background:#0a0c0f}
.activity-pill{position:absolute;left:50%;bottom:-4px;transform:translateX(-50%);display:flex;align-items:center;gap:5px;border-radius:999px;background:#151a24;padding:2px 8px;white-space:nowrap}
.activity-pill i{width:4px;height:4px;border-radius:50%;background:#7fb069}.activity-pill span{font-size:9px;color:#6b7588;font-variant-numeric:tabular-nums}
.bottom-handle{position:absolute;left:0;right:0;bottom:0;z-index:6;display:flex;flex-direction:column;align-items:center;padding-bottom:12px;pointer-events:none}
.smart .handle{position:static;width:64px;height:32px;padding:0;border:0;background:transparent;pointer-events:auto}
.smart .handle:after{display:none}.smart .handle i{display:block;width:36px;height:4px;margin:auto;border-radius:999px;background:#232833}
.bottom-handle>span{margin-top:4px;font-size:8px;letter-spacing:.2em;color:#2a3242}
.smart .sheet{background:#151a24;border-color:#232833;border-radius:28px 28px 0 0;box-shadow:0 -20px 60px rgba(0,0,0,.6);padding-top:18px}
.smart .complete{background:rgba(10,12,15,.92);backdrop-filter:blur(6px)}
.complete-check{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#d8c9a6;color:#000;font-size:28px;font-weight:900;box-shadow:0 8px 24px rgba(216,201,166,.45)}
.smart .complete b{font-size:14px;letter-spacing:.2em;color:#d8c9a6}.smart .complete>span{font-size:12px;color:#8b97ae}.smart .complete strong{font-size:28px;color:#d8c9a6}
.smart .complete button{border-radius:999px;background:#d8c9a6;color:#000;border-color:#d8c9a6}
.smart .complete button+button{background:#0d1117;color:#6b7588;border-color:#232833}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:700px){.smart{padding:22px}.smart .counter-shell{height:844px;min-height:844px;border:2px solid transparent;border-radius:48px;box-shadow:0 0 0 10px #1a1f2b,0 30px 80px rgba(0,0,0,.6)}}
@media(max-height:700px){.smart .affirmation{font-size:30px}.action-zone{padding-bottom:72px}.smart .counter-shell{max-height:none}.smart-head{height:48px;flex-basis:48px}}


/* RE:ON TESTER simulator */
.tester-badge{position:fixed;top:max(8px,env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:80;padding:5px 10px;border:1px solid #7c5cff;border-radius:999px;background:#161225;color:#c9bcff;font-size:9px;font-weight:800;letter-spacing:.08em;pointer-events:none}
.tester-mode .counter-shell{outline:1px solid rgba(124,92,255,.5)}
.control-tester-link{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:10px;background:#172033;color:#fff;text-decoration:none;font-weight:800}
.tester-control-body{background:#eef1f6}
.tester-control-main{max-width:1500px;margin:0 auto;padding:24px}
.tester-layout{display:grid;grid-template-columns:minmax(520px,1fr) 430px;gap:20px;align-items:start}
.tester-console{margin:0}
.tester-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 10px}
.tester-toolbar button,.tester-toolbar select{min-height:42px;border:1px solid #d9dee8;border-radius:10px;background:#fff;color:#172033;padding:0 12px;font:inherit;font-weight:700}
.tester-toolbar .tester-primary{background:#172033;color:#fff;border-color:#172033}
.tester-toolbar label{display:flex;align-items:center;gap:8px;font-size:12px;color:#667085}
.tester-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:16px 0}
.tester-summary article{padding:14px;border:1px solid #e1e5ec;border-radius:14px;background:#f8fafc}
.tester-summary small{display:block;font-size:10px;color:#7a8495}.tester-summary b{display:block;margin-top:6px;font-size:22px;color:#172033}
.tester-safety{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:12px;background:#eefaf4;border:1px solid #cfeadb;color:#285e43;font-size:11px}
.tester-log{height:360px;overflow:auto;margin:14px 0 0;padding:14px;border-radius:14px;background:#10141c;color:#aab7cc;font:11px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}
.tester-device-panel{position:sticky;top:84px}
.tester-device-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 10px;font-size:11px;font-weight:800;color:#697386;letter-spacing:.08em}
.tester-device-head button{min-height:34px;border:1px solid #d9dee8;border-radius:9px;background:#fff;color:#172033;padding:0 10px;font-weight:700}
.tester-device{width:390px;max-width:100%;margin:auto;border:10px solid #1a1f2b;border-radius:48px;overflow:hidden;background:#11151d;box-shadow:0 24px 60px rgba(15,23,42,.18)}
.tester-device iframe{display:block;width:100%;height:760px;border:0;background:#11151d}
@media(max-width:980px){.tester-layout{grid-template-columns:1fr}.tester-device-panel{position:static}.tester-summary{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.tester-control-main{padding:12px}.tester-toolbar>*{flex:1 1 44%}.tester-device{border-width:0;border-radius:0;width:100%}.tester-device iframe{height:720px}.tester-summary{grid-template-columns:repeat(2,1fr)}}

.tester-login{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;max-width:620px}
.tester-login input{min-height:44px;border:1px solid #d9dee8;border-radius:10px;background:#fff;color:#172033;padding:0 12px;font:inherit}
.tester-login-actions{grid-column:1/-1;display:flex;gap:8px}.tester-login-actions button{min-height:42px;border:1px solid #d9dee8;border-radius:10px;background:#fff;color:#172033;padding:0 14px;font-weight:800}
.tester-login-actions .tester-primary{background:#172033;color:#fff;border-color:#172033}
.tester-login .auth-status{grid-column:1/-1;min-height:20px;color:#697386;font-size:12px}
@media(max-width:560px){.tester-login{grid-template-columns:1fr}.tester-login-actions{flex-direction:column}}
