@font-face{font-family:Inter;src:url(../fonts/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter-SemiBold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(../fonts/Inter-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--ink: #3a2d24;--ink-letter: #4a3b30;--secondary: #6b5d52;--hint: #a99784;--hint2: #b0997f;--surface: #ffffff;--border: #ece3d6;--divider: #f0e8db;--accent: #2e9c95;--accent-dark: #1f7e78;--accent-tint: #e1f0ee;--accent-tint-text: #235f5a;--warm-bg: #fbead8;--warm-border: #f2d7bb;--warm-text: #c28a4e;--warm-text-dark: #7a4f22;--tab-inactive: #b7a793;--dash: #dcc9ae;--ease: cubic-bezier(.22, 1, .36, 1)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body{height:100%}body{font-family:Inter,system-ui,sans-serif;background:radial-gradient(120% 80% at 50% 0%,#e6dccb,#cfc4b2);color:var(--ink);-webkit-font-smoothing:antialiased}#root{min-height:100dvh;display:flex;align-items:center;justify-content:center}.phone{width:402px;height:844px;max-width:100vw;max-height:100dvh;background:linear-gradient(180deg,#fbf4e9,#f2e7d7);box-shadow:0 30px 80px #3a2d2447;display:flex;flex-direction:column;overflow:hidden;position:relative}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(env(safe-area-inset-top) + 20px) 22px 120px}.tabbar{flex:none;display:flex;justify-content:space-around;padding:10px 8px calc(env(safe-area-inset-bottom) + 22px);background:#fffdfaeb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border)}.tab{background:none;border:none;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--tab-inactive);cursor:pointer;font-family:inherit;flex:1;transition:color .2s var(--ease)}.tab.active{color:var(--accent)}.tab svg{width:25px;height:25px}.tab span{font-size:10.5px;font-weight:600}.eyebrow{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--hint2)}.eyebrow.sm{font-size:11px;letter-spacing:.05em}.card{background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 8px 24px #3a2d240f}.btn{width:100%;border:none;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;border-radius:20px;padding:17px;transition:transform .1s var(--ease),filter .15s var(--ease)}.btn:active{transform:scale(.98)}.btn-ink{background:var(--ink);color:#fff;box-shadow:0 8px 22px #3a2d2438}.btn-accent{background:var(--accent);color:#fff;box-shadow:0 10px 24px #2e9c9552}.btn-ghost{background:transparent;border:1px solid var(--dash);color:#8a7868;box-shadow:none}.home-date{margin-top:6px}.greeting{font-size:30px;font-weight:700;letter-spacing:-.02em;margin:6px 0 18px}.hero{position:relative;border-radius:24px;height:240px;overflow:hidden;box-shadow:0 12px 30px #3a2d2429}.hero img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#3a2d2400 45%,#3a2d249e)}.hero-caption{position:absolute;left:18px;right:18px;bottom:16px;color:#fff;font-size:17px;font-weight:600;z-index:1;line-height:1.35}.chips{display:flex;gap:9px;margin-top:16px}.chip{display:flex;flex-direction:column;gap:5px;border-radius:18px;padding:14px 16px}.chip-exam{flex:1;background:var(--surface);border:1px solid var(--border)}.chip-exam .name{font-size:14px;font-weight:600;color:var(--ink);line-height:1.3}.chip-when{width:118px;background:var(--accent);color:#fff;box-shadow:0 8px 20px #2e9c9552}.chip-when .eyebrow{color:#cfede9}.chip-when .when{font-size:15px;font-weight:700}.letter{margin-top:16px;padding:22px}.letter p{font-size:15.5px;line-height:1.62;color:var(--ink-letter)}.letter p+p{margin-top:14px}.sign{display:flex;align-items:center;gap:11px;margin-top:18px}.sign img{width:42px;height:42px;border-radius:50%;border:2px solid #f2e7d7;object-fit:cover;object-position:center 30%}.sign .name{font-size:14px;font-weight:700;color:var(--ink)}.sign .role{font-size:12px;color:var(--hint)}.ritual-answer{margin-top:14px;background:var(--accent-tint);border:1px solid #c9e6e2;border-radius:6px 20px 20px;padding:17px 19px;font-size:15px;color:var(--accent-tint-text);line-height:1.5;animation:capIn .4s var(--ease)}.mt16{margin-top:16px}.timer-tiles{display:flex;gap:9px;margin-top:18px}.tile{flex:1;border-radius:20px;padding:16px 6px;display:flex;flex-direction:column;align-items:center;gap:6px}.tile-plain{background:var(--surface);border:1px solid var(--border)}.tile-plain .num{color:var(--accent)}.tile-accent{background:var(--accent);box-shadow:0 8px 20px #2e9c954d}.tile-accent .num{color:#fff}.tile-accent .lbl{color:#cfede9!important}.tile .num{font-size:38px;font-weight:700;line-height:1}.tile .lbl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--hint2)}.timer-now{margin-top:18px;background:var(--accent);color:#fff;border-radius:24px;padding:24px}.timer-now h3{font-size:22px;font-weight:700;margin-bottom:10px}.timer-now p{font-size:15px;line-height:1.5}.breathe{margin-top:18px;background:var(--warm-bg);border:1px solid var(--warm-border);border-radius:24px;padding:20px 22px}.breathe .eyebrow{color:var(--warm-text)}.breathe .phrase{margin-top:10px;font-size:18px;font-weight:600;color:var(--warm-text-dark);line-height:1.4;min-height:54px;animation:fadeIn .5s var(--ease)}.mokko{margin-top:16px;border-radius:22px;padding:16px;display:flex;align-items:center;gap:14px}.mokko img{width:54px;height:54px;border-radius:16px;object-fit:cover;flex:none;animation:floaty 4s var(--ease) infinite}.mokko p{font-size:14px;color:var(--secondary);line-height:1.45}.screen-title{font-size:26px;font-weight:700;letter-spacing:-.02em;margin-top:4px}.screen-head{margin-top:10px}.cap-area{min-height:230px;margin-top:18px;display:flex}.cap-empty{flex:1;border:2px dashed var(--dash);border-radius:26px;background:#ffffff80;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:24px}.cap-empty .star{font-size:46px;color:var(--hint2)}.cap-empty p{font-size:16px;font-weight:600;color:#8a7868}.cap-card{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:26px;padding:26px 24px;box-shadow:0 14px 36px #3a2d241a;display:flex;flex-direction:column;justify-content:center;animation:capIn .45s var(--ease)}.cap-card .text{font-size:20px;font-weight:600;color:var(--ink);line-height:1.4}.cap-card .foot{margin-top:20px;padding-top:16px;border-top:1px solid var(--divider);font-size:12px;color:var(--hint2)}.game-intro{margin-top:18px;padding:22px}.game-patient{display:flex;align-items:center;gap:14px;margin-bottom:16px}.game-patient img{width:64px;height:64px;border-radius:18px;object-fit:cover;object-position:center 28%;flex:none}.game-patient .name{font-size:17px;font-weight:700;color:var(--ink)}.game-patient .sub{font-size:13px;color:var(--hint)}.game-intro p{font-size:15px;color:var(--ink-letter);line-height:1.55;margin-bottom:18px}.btn-accent.sm{border-radius:18px}.progress-row{display:flex;align-items:center;gap:12px;margin-top:14px}.progress-track{flex:1;height:6px;background:#eadfcf;border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--accent);border-radius:99px;transition:width .4s var(--ease)}.progress-row .count{font-size:12px;font-weight:600;color:var(--hint)}.method-chip{display:inline-block;margin-top:18px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;background:var(--accent-tint);color:var(--accent);border-radius:999px;padding:6px 13px}.game-q{font-size:20px;font-weight:700;color:var(--ink);margin-top:14px;line-height:1.35}.game-options{display:flex;flex-direction:column;gap:11px;margin-top:18px}.game-option{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px 18px;text-align:left;font-size:15px;font-weight:500;color:var(--ink);cursor:pointer;font-family:inherit;line-height:1.4;box-shadow:0 4px 14px #3a2d240a;transition:transform .1s var(--ease)}.game-option:active{transform:scale(.99)}.react-card{margin-top:18px;padding:22px;border-radius:22px;animation:capIn .4s var(--ease)}.react-card .eyebrow{color:var(--warm-text)}.react-card .text{margin-top:10px;font-size:17px;font-weight:600;color:var(--ink);line-height:1.4}.react-card .btn{margin-top:18px}.diagnosis{margin-top:18px;background:linear-gradient(160deg,#2e9c95,#1f7e78);color:#fff;border-radius:28px;padding:26px;box-shadow:0 16px 40px #2e9c9559;animation:riseIn .6s var(--ease)}.diagnosis .eyebrow{color:#cfede9}.diagnosis h3{font-size:23px;font-weight:700;margin:10px 0 12px;line-height:1.2}.diagnosis p{font-size:15px;line-height:1.5}.treatment{margin-top:16px;padding:22px}.treatment ul{list-style:none;margin-top:14px;display:flex;flex-direction:column;gap:12px}.treatment li{display:flex;gap:10px;font-size:15px;color:var(--ink-letter);line-height:1.45}.treatment li:before{content:"·";color:var(--accent);font-weight:700;font-size:22px;line-height:1}.treatment .prognosis{margin-top:18px;padding-top:16px;border-top:1px solid var(--divider);font-size:15px;font-weight:600;color:var(--ink)}.treatment .prognosis .note{display:block;margin-top:6px;font-weight:400;color:var(--secondary)}@keyframes capIn{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes riseIn{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes floaty{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
