:root{--bg: #f4f1ea;--card: #ffffff;--ink: #1c2333;--sub: #6b7280;--line: #e8e2d4;--accent: #0f8a5f;--accent-dark: #0b6e4b;--accent-soft: #e3f4ec;--amber: #ffb020;--amber-soft: #fff4dc;--red: #e5484d;--sa-top: env(safe-area-inset-top, 0px);--sa-bottom: env(safe-area-inset-bottom, 0px);--sa-left: env(safe-area-inset-left, 0px);--sa-right: env(safe-area-inset-right, 0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Apple SD Gothic Neo,Pretendard,Noto Sans KR,Malgun Gothic,sans-serif;-webkit-font-smoothing:antialiased}body{overscroll-behavior:none;user-select:none;-webkit-user-select:none}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}button:disabled{opacity:.5;cursor:default}h1,h2,h3,p{margin:0}.app{max-width:480px;margin:0 auto;min-height:100dvh;padding:calc(var(--sa-top) + 8px) calc(16px + var(--sa-right)) calc(var(--sa-bottom) + 16px) calc(16px + var(--sa-left));display:flex;flex-direction:column;gap:12px}.top{min-height:44px;display:flex;align-items:center;gap:10px;padding-right:92px}.icon-btn{width:40px;height:40px;flex:0 0 auto;border-radius:12px;background:var(--card);box-shadow:0 1px 0 var(--line),0 2px 8px #1c23330f;font-size:18px;display:grid;place-items:center}.card{background:var(--card);border-radius:20px;padding:18px;box-shadow:0 1px 0 var(--line),0 6px 20px #1c23330f;animation:rise .28s ease-out}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}.primary,.ghost{height:50px;padding:0 18px;border-radius:14px;font-weight:700;font-size:16px;transition:transform .08s}.primary{background:var(--accent);color:#fff;box-shadow:0 3px 0 var(--accent-dark)}.primary:active:not(:disabled),.ghost:active:not(:disabled){transform:translateY(2px)}.primary.big{height:56px;font-size:18px;width:100%}.ghost{background:var(--card);color:var(--ink);box-shadow:0 1px 0 var(--line),0 2px 10px #1c23330f}.wide{width:100%}.brand{display:flex;align-items:center;gap:12px;padding:2px 2px 4px}.logo{width:54px;height:54px;border-radius:16px;display:block;box-shadow:0 4px 12px #0f8a5f59}.brand h1{font-size:26px;font-weight:900;letter-spacing:-.5px}.brand p{color:var(--sub);font-size:14px;margin-top:2px}.sample-note{background:var(--amber-soft);color:#8a5a00;font-size:13px;font-weight:700;border-radius:12px;padding:8px 12px}.hero{display:flex;flex-direction:column;gap:12px;background:linear-gradient(160deg,#ffffff 55%,var(--accent-soft))}.hero-date{font-size:14px;font-weight:800;color:var(--accent)}.hero-sub{color:var(--sub);font-size:15px;line-height:1.5}.hero-done{font-size:18px;font-weight:700}.hero-done b{font-size:40px;font-weight:900;color:var(--accent);margin-right:2px}.hero-grid{font-size:26px;letter-spacing:4px}.hero-streak{text-align:center;font-weight:800;color:#c2410c;font-size:15px}.rescue{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--amber-soft)}.rescue p{color:#8a5a00;font-size:13px;margin-top:2px}.rescue .primary{flex:0 0 auto;height:44px;font-size:14px;background:#e8890c;box-shadow:0 3px #b86a05}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.stats>div{background:var(--card);border-radius:16px;padding:12px 8px;text-align:center;box-shadow:0 1px 0 var(--line)}.stats b{display:block;font-size:18px;font-weight:900}.stats span{font-size:12px;color:var(--sub)}.practice{display:flex;flex-direction:column;gap:12px}.pr-title{font-weight:800}.pr-chips{display:flex;flex-wrap:wrap;gap:8px}.chip{height:36px;padding:0 14px;border-radius:999px;background:#f1eee6;font-size:14px;font-weight:700;color:#4b5563}.chip.on{background:var(--ink);color:#fff}.foot{margin-top:auto;text-align:center;font-size:12px;line-height:1.6;color:#9ca3af;padding-top:8px}.dots{flex:1;display:flex;gap:6px;justify-content:center}.dot{width:22px;height:8px;border-radius:99px;background:#e2ddd0}.dot.now{background:var(--ink)}.dot.g{background:#22a06b}.dot.y{background:#f5b82e}.dot.o{background:#f08c3c}.dot.r{background:var(--red)}.qcount{font-weight:800;color:var(--sub);font-size:14px}.q{padding-bottom:16px}.q-tag{display:inline-block;font-size:12px;font-weight:800;color:var(--accent);background:var(--accent-soft);border-radius:8px;padding:3px 8px;margin-bottom:10px}.q-top{display:flex;gap:16px;align-items:flex-end}.q-info{flex:1;min-width:0}.q-region{font-size:14px;color:var(--sub);font-weight:600}.q-name{font-size:24px;font-weight:900;letter-spacing:-.5px;margin:2px 0 10px;word-break:keep-all}.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px}.chips li{font-size:13px;font-weight:700;background:#f4f1ea;border-radius:8px;padding:5px 8px}.hint{margin-top:12px;background:var(--amber-soft);border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.5}.bld{width:70px;flex:0 0 auto;display:flex;flex-direction:column;align-items:stretch}.bld-roof{height:8px;margin:0 6px;border-radius:6px 6px 0 0;background:#8fa0bf}.bld-row{height:var(--rh);display:flex;gap:3px;padding:1px 6px;background:#b9c5db}.bld-row i{flex:1;border-radius:1px;background:#e9eef7}.bld-row.lit{background:#ffcf5a}.bld-row.lit i{background:#fff6cf;box-shadow:0 0 6px #ffcf5a}.bld-base{height:10px;background:#8fa0bf;border-radius:0 0 4px 4px}.guess{display:flex;flex-direction:column;gap:12px}.g-label{font-weight:800;color:var(--sub);text-align:center}.g-price{text-align:center;font-size:34px;font-weight:900;letter-spacing:-1px;font-variant-numeric:tabular-nums}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:36px;background:transparent;margin:0}input[type=range]::-webkit-slider-runnable-track{height:10px;border-radius:999px;background:linear-gradient(90deg,#cfe9dc,var(--accent))}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:32px;height:32px;margin-top:-11px;border-radius:50%;background:#fff;border:4px solid var(--accent);box-shadow:0 2px 8px #0003}input[type=range]::-moz-range-track{height:10px;border-radius:999px;background:linear-gradient(90deg,#cfe9dc,var(--accent))}input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:#fff;border:4px solid var(--accent)}.g-scale{position:relative;height:16px;margin:-8px 14px 0}.g-scale span{position:absolute;transform:translate(-50%);font-size:11px;color:#9ca3af;white-space:nowrap}.g-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.g-steps button{height:44px;border-radius:12px;background:#f1eee6;font-weight:800;font-size:14px}.g-steps button:active{background:#e4dfd2}.hint-btn{height:44px;border-radius:12px;border:2px dashed #e6c46f;color:#8a5a00;font-weight:700;font-size:14px;background:var(--amber-soft)}.reveal{display:flex;flex-direction:column;gap:10px;text-align:center}.r-label{font-weight:800;color:var(--sub)}.r-price{font-size:36px;font-weight:900;color:var(--accent);letter-spacing:-1px;font-variant-numeric:tabular-nums}.r-mine{color:var(--sub);font-weight:700;font-size:15px}.r-react{font-size:18px;font-weight:800;animation:pop .35s ease-out}.r-score{font-size:28px;font-weight:900;color:#c2410c;animation:pop .45s ease-out}@keyframes pop{0%{transform:scale(.6);opacity:0}70%{transform:scale(1.12);opacity:1}}.result{text-align:center;display:flex;flex-direction:column;gap:6px;background:linear-gradient(160deg,#ffffff 50%,var(--accent-soft))}.res-kind{font-weight:800;color:var(--accent);font-size:14px}.res-score b{font-size:56px;font-weight:900;letter-spacing:-2px}.res-score span{font-weight:800;color:var(--sub);margin-left:4px}.res-title{font-size:20px;font-weight:900}.res-grid{font-size:30px;letter-spacing:6px;margin:4px 0}.res-streak{font-weight:800;color:#c2410c}.list{padding:6px 16px}.row{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #f0ece2}.row:last-child{border-bottom:0}.row-l{min-width:0}.row-name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row-r{text-align:right;flex:0 0 auto}.row-price{font-weight:900}.row-sub{font-size:12px;color:var(--sub);margin-top:2px}.actions{display:grid;gap:8px}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#11141c73;display:grid;place-items:center;padding:24px;z-index:50}.modal{width:100%;max-width:340px;background:#fff;border-radius:20px;padding:22px 18px 18px;text-align:center}.modal h3{font-size:19px}.modal p{color:var(--sub);margin:8px 0 16px}.modal-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.toast{position:fixed;left:50%;top:calc(var(--sa-top) + 64px);transform:translate(-50%);background:#1c2333eb;color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;font-weight:700;z-index:60;max-width:calc(100% - 32px);text-align:center}.banner-ad{width:100%;min-height:60px}
