/*OBF*/@font-face{font-family:'OBrush';src:url('../../fonts/obrush_c21.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+C12D,U+C130-C131,U+C139-C140,U+C154-C168,U+C194-C27D,U+C2A8,U+C2B4,U+C2B7-C2B9,U+C2DD,U+C2EB,U+C2ED-C30D,U+C368-C53B,U+C545,U+C549,U+C54C,U+C555-C557,U+C559-C55E,U+C561-C571,U+C57D-C598,U+C5B5-C5BB,U+C5BD-C5C4,U+C5C7,U+C5C9-C5CC,U+C5D1,U+C5E0-C5E3,U+C5ED-C5EE,U+C5FC-C61B,U+C625,U+C62C-C62D,U+C633-C63B,U+C644,U+C655-C6A9,U+C6B1,U+C6C0-C6CC,U+C6DC-C6F9,U+C717-C721,U+C728-C735,U+C751,U+C775,U+C783,U+C787,U+C789-C78E,U+C794-C7A4,U+C7A6,U+C7C1-C800,U+C810,U+C813,U+C81D-C838,U+C871-C881,U+C88B-C8E0,U+C8FD,U+C904-C90D,U+C92C-C99D,U+C9CA-C9F1,U+CA0D-CC3E,U+CC45-CCA8,U+CCAD,U+CCD0-CCE4,U+CD09-CD1B,U+CD5C-CD95,U+CD9C-CE35,U+CE5C-CE6D,U+CE7C-CEA1,U+CEE8,U+CEF7-CF08,U+CF20-CF8C,U+CFFC-D06C,U+D074-D07D,U+D0A8-D0B9,U+D0C1-D0D5,U+D0ED-D0F1,U+D131-D134,U+D145,U+D150-D17C,U+D1A1-D1A4,U+D1F4,U+D230-D30E,U+D31D-D328,U+D380-D398,U+D39C-D3B4,U+D3D0,U+D3ED-D45C,U+D479-D47C,U+D488-D551,U+D559,U+D56B-D56D,U+D575-D588,U+D5C8,U+D5D0-D600,U+D608-D64D,U+D658-D669,U+D68D-D749,U+D754-D790,U+D799-D7A3}@font-face{font-family:'OBrush';src:url('../../fonts/obrush_c11.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+AC04-AC07,U+AC11-AC16,U+AC1A,U+AC1D-AC54,U+AC71-AC77,U+AC81,U+AC89,U+ACA0-ACAC,U+ACBD-ACC1,U+ACE1-ACE4,U+ACE8-ACF1,U+ACF5,U+AD04-AD50,U+AD70-AD73,U+AD76-AD7F,U+AD82-ADC8,U+ADE0,U+ADF9-ADFC,U+AE09-AE0B,U+AE34,U+AE40,U+AE43-AE4A,U+AE4E-AE65,U+AE7C,U+AEBE-AECF,U+AEF4-AFC0,U+AFD4-B04A,U+B053-B08D,U+B0A1,U+B0A9-B0AB,U+B0AD-B0B3,U+B0B8-B0E5,U+B109-B10C,U+B113-B123,U+B128-B141,U+B155,U+B179-B192,U+B194-B1A8,U+B20C-B290,U+B299-B2AC,U+B2CC-B2D0,U+B2DD,U+B2E5,U+B2EB,U+B2ED-B2EE,U+B2FF,U+B304-B313,U+B355-B35C,U+B365-B371,U+B3C5-B3D5,U+B3FC-B410,U+B41C-B429,U+B451-B454,U+B460-B4C8,U+B4DD,U+B4E3,U+B4EC-B545,U+B550-B5A1,U+B5A8-B755,U+B77D-B784,U+B78F-B790,U+B799-B7C9,U+B7F0-B801,U+B808-B818,U+B825-B840,U+B85D-B86D,U+B8B0-B8E1,U+B8EC-B960,U+B975,U+B985,U+B989,U+B9AD,U+B9BD-B9C1,U+B9C9,U+B9CE,U+B9D1-B9D9,U+B9DD,U+B9E1,U+B9E5-B9FA,U+BA3C-BA4D,U+BA58-BA74,U+BA87,U+BAA9-BABB,U+BB36,U+BB47-BBA4,U+BBFC-BBFF,U+BC0C-BC11,U+BC15-BC18,U+BC1C-BC1D,U+BC25,U+BC2D-BC43,U+BC85,U+BC8C-BC94,U+BC97-BCC0,U+BCCD-BCD1,U+BCF8-BD05,U+BD10-BD59,U+BD81,U+BD90-BE14,U+BE4C-BE5A,U+BE60-BF18,U+BFCC-C090,U+C0AD,U+C0B6,U+C0BD-C0BF,U+C0C9-C0D8,U+C11D-C11E,U+C124-C12C}@font-face{font-family:'OBrush';src:url('../../fonts/obrush_s1.woff2') format('woff2');font-weight:400;font-display:swap;unicode-range:U+21-27,U+2A-2B,U+2D,U+2F,U+33-34,U+36,U+38-3E,U+40,U+43-48,U+4A-4C,U+4E-53,U+55-7E,U+FC-314E,U+FF08-FF1F}@font-face{font-family:'OBrush';src:url('../../fonts/obrush_b1.woff2') format('woff2');font-weight:400;font-display:block;unicode-range:U+28-29,U+31,U+35,U+3F,U+41-42,U+49,U+4D,U+54,U+B7,U+AC01,U+AC08,U+AC19,U+AC1C,U+AC70,U+AC78-AC80,U+AC83,U+AC8C,U+ACB9-ACBC,U+ACC4-ACE0,U+ACF3,U+ACFC,U+AD6C-AD6D,U+AD74,U+ADDC,U+AE08,U+AE38,U+AE41,U+AE4C,U+AEBC,U+AED8,U+AFC8,U+B04C,U+B0A0,U+B0A8,U+B0AC,U+B108,U+B110,U+B150,U+B178,U+B193,U+B204-B208,U+B2C8,U+B2D8,U+B2E8,U+B2F5,U+B354,U+B3D9,U+B418,U+B458,U+B4E0,U+B5A4,U+B760-B77C,U+B78D,U+B791-B798,U+B807,U+B824,U+B8E8,U+B974,U+B978-B984,U+B987,U+B9B4-B9BC,U+B9CC,U+B9D0,U+B9DE,U+B9E4,U+BA38,U+BA54,U+BABD,U+BB35,U+BB3B,U+BBF8,U+BC00,U+BC14,U+BC24,U+BC84,U+BC88,U+BC95,U+BCC4,U+BCD5,U+BCF5,U+BD09,U+BD84-BD88,U+BE5B,U+C0B0,U+C0C8,U+C120-C123,U+C148-C14B,U+C190,U+C2A4,U+C2AC,U+C2DC,U+C313,U+C544,U+C548,U+C54A,U+C554,U+C558,U+C57C,U+C5BC,U+C5C5,U+C5D4,U+C628,U+C62E,U+C654,U+C6B8,U+C6D0-C6D4,U+C704,U+C77D,U+C785,U+C791,U+C804-C808,U+C811,U+C81C,U+C84C,U+C885,U+C900,U+C911-C918,U+C9C8,U+C9F8,U+CC44,U+CCAB,U+CCB4,U+CD08,U+CD1D,U+CD98,U+CE58-CE59,U+CEEC,U+CF1C,U+CFE0,U+D070,U+D0A4,U+D0DC,U+D130,U+D138,U+D14C,U+D22C,U+D310,U+D37C,U+D399,U+D3BC,U+D3EC,U+D478,U+D480,U+D589-D5A5,U+D5CC,U+D604,U+D750-D751,U+D798}@font-face{font-family:'OBrush';src:url('../../fonts/obrush_a1.woff2') format('woff2');font-weight:400;font-display:block;unicode-range:U+20,U+2C,U+2E,U+30,U+32,U+37,U+AC00,U+AC10,U+ACB0,U+ACE7,U+AD00,U+AD81,U+ADF8,U+AE00,U+AE30,U+AE68,U+B098-B09C,U+B0B4,U+B124,U+B144,U+B294-B298,U+B2E4,U+B2EC,U+B2F4,U+B2F9,U+B300,U+B35F,U+B3C4,U+B450,U+B4DC,U+B4E4,U+B54C,U+B78C,U+B7EC,U+B85C,U+B871,U+B9AC,U+B9B0,U+B9C8,U+B9DB,U+BA39,U+BA85,U+BAA8,U+BB18-BB34,U+BB38,U+BB3C,U+BC1B,U+BC29,U+BCF4,U+BD80,U+BD89,U+BE44-BE48,U+BF51,U+C0AC,U+C0B4,U+C0BC,U+C0C1,U+C0DD-C11C,U+C12F,U+C138,U+C18C-C18D,U+C2B5,U+C2E0-C2E4,U+C2EC,U+C560,U+C5B4,U+C5C6,U+C5C8,U+C5D0,U+C5EC,U+C5F0-C5F4,U+C624,U+C640,U+C6B0,U+C6B4,U+C724,U+C73C-C74C,U+C758-C774,U+C778-C77C,U+C784,U+C788,U+C790,U+C7A5,U+C7AC,U+C801,U+C815,U+C870,U+C8FC,U+C9C0-C9C4,U+CE74-CE78,U+CEE4,U+CFE8,U+D0C0,U+D0DD,U+D1A0,U+D1B5,U+D314,U+D3B8,U+D3C9,U+D558,U+D55C-D569,U+D574,U+D654-D655,U+D68C}/*OBF*/

/* 2027 신년운세 「할매의 섣달 그믐밤」
   장면(방 · 쌀점 · 두루마리 · 새벽)은 화롯불과 등잔불의 어두운 온돌방, 풀이 문서는 밝은 한지.
   모서리는 각지게(원만 둥글게). 빛은 실제 광원(화로 · 등잔 · 새벽)만, 입자 · 반짝이 없음. */
:root{
  --brush:'OBrush','Noto Serif KR',serif; --bmj:'Song Myung','Noto Serif KR',serif;
  --serif:'Noto Serif KR',"Nanum Myeongjo",serif; --sans:'Noto Sans KR',"Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;
  /* 방 */
  --room:#130c07; --room2:#22160d; --ember:#e0843c; --lamp:#f2cb8a; --lamp2:#e1ad63; --cream:#f6ead4; --cream2:#d9c7a7; --cream3:#a8927a;
  /* 한지 */
  --paper:#f3e9d5; --paper-2:#e8dbc0; --card:#fbf5e8; --ink:#1f1a14; --ink-2:#4a4137; --ink-3:#83776a; --line:#d4c4a7;
  --seal:#b3322a; --seal-2:#d9564b;
  --wood:#3f7d5a; --fire:#c0392b; --earth:#a7792c; --metal:#6f7884; --water:#2f5d8a;
  --sh:100vh; --W:400px;
  --fiber:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='240' height='240'><filter id='f'><feTurbulence type='fractalNoise' baseFrequency='.012 .35' numOctaves='3' seed='7'/><feColorMatrix values='0 0 0 0 .45  0 0 0 0 .34  0 0 0 0 .2  0 0 0 .55 -.18'/></filter><rect width='100%' height='100%' filter='url(%23f)'/></svg>");
  --hanji:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='300' height='300'><filter id='a'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' seed='3' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .42  0 0 0 0 .33  0 0 0 0 .2  0 0 0 .07 0'/></filter><filter id='b'><feTurbulence type='fractalNoise' baseFrequency='.035' numOctaves='3' seed='9' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .55  0 0 0 0 .44  0 0 0 0 .28  0 0 0 .24 -.08'/></filter><filter id='c'><feTurbulence type='turbulence' baseFrequency='.02 .2' numOctaves='1' seed='21' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .4  0 0 0 0 .26  0 0 0 1.4 -1.18'/></filter><rect width='100%' height='100%' filter='url(%23b)'/><rect width='100%' height='100%' filter='url(%23c)'/><rect width='100%' height='100%' filter='url(%23a)'/></svg>");
  --grain:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .3  0 0 0 0 .22  0 0 0 0 .12  0 0 0 .5 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
  color-scheme:light;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{margin:0;background:#0b0705;color:var(--ink);font-family:var(--sans);display:flex;justify-content:center;overflow:hidden;word-break:keep-all;overflow-wrap:break-word}
button,select,input{font-family:inherit}
.stage{position:relative;width:100%;max-width:430px;height:100%;overflow:hidden;overflow:clip;background:var(--room)}
@media (min-width:700px){.stage{height:min(100%,920px);margin:auto 0;box-shadow:0 30px 80px rgba(0,0,0,.6)}}
.scr{position:absolute;inset:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:none;opacity:0;pointer-events:none;visibility:hidden;transition:opacity .7s,visibility 0s linear .7s;overscroll-behavior:contain}
.scr::-webkit-scrollbar{display:none}
.scr.on{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .7s,visibility 0s}

/* ---------- 장면 공통: 그림(영상) + 화로 빛 + 그늘 ---------- */
.scene{position:absolute;inset:0;overflow:hidden;background:radial-gradient(ellipse 90% 60% at 30% 92%,#4a2a14 0%,#24150b 45%,var(--room) 80%)}
.scene .ph{position:absolute;inset:-2%;background:transparent center 20%/cover no-repeat;transform-origin:50% 35%;animation:kb 32s ease-in-out infinite alternate;filter:saturate(.78) contrast(.9) brightness(.94)}
/* 신비감: 그림 위 옅은 연무와 가장자리 그늘 (영상은 같은 보정으로 인코딩됨) */
.scene:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 70% 55% at 50% 38%,rgba(255,226,180,.10),rgba(255,226,180,0) 70%),radial-gradient(ellipse 120% 90% at 50% 45%,rgba(19,12,7,0) 55%,rgba(19,12,7,.45) 100%)}
.scene .glow,.scene .shade{z-index:2}
.scene video.lv{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%;opacity:0;transition:opacity 1.4s ease}
.scene video.lv.on{opacity:1}
.scene video.tv{z-index:1;transition:opacity .5s ease}
.scene video.lv:not(.tv){transition:opacity .7s ease,filter .9s ease}
.scene.xf video.lv:not(.tv){filter:blur(5px) brightness(.62) saturate(.8)}
.scene:after{content:"";position:absolute;inset:-10%;z-index:1;pointer-events:none;opacity:0;transition:opacity .9s ease;background:radial-gradient(ellipse 60% 45% at 40% 70%,rgba(70,40,20,.55),rgba(19,12,7,0) 70%),radial-gradient(ellipse 50% 40% at 65% 35%,rgba(40,25,14,.5),rgba(19,12,7,0) 70%)}
.scene.xf:after{opacity:1}
.scene.talking video.lv:not(.tv){opacity:0}
.glow{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 85% 42% at 26% 102%,rgba(255,136,52,.34),rgba(255,136,52,0) 72%),radial-gradient(ellipse 55% 30% at 82% 6%,rgba(255,214,150,.10),rgba(255,214,150,0) 70%);mix-blend-mode:screen;animation:flick 5.7s linear infinite}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(19,12,7,.62) 0%,rgba(19,12,7,0) 18%,rgba(19,12,7,0) 40%,rgba(19,12,7,.74) 64%,rgba(19,12,7,.96) 84%)}
@keyframes kb{from{transform:scale(1.02)}to{transform:scale(1.09) translateY(-1%)}}
@keyframes flick{0%{opacity:.82}9%{opacity:.95}17%{opacity:.74}28%{opacity:1}39%{opacity:.86}47%{opacity:.97}58%{opacity:.78}66%{opacity:.93}79%{opacity:.84}88%{opacity:.99}100%{opacity:.82}}
.stage:after{content:"";position:absolute;inset:0;z-index:80;pointer-events:none;opacity:.05;background-image:var(--grain)}

/* 상단 */
.top{position:absolute;left:0;right:0;top:0;z-index:12;display:flex;align-items:center;gap:10px;padding:calc(env(safe-area-inset-top,0px) + 12px) 64px 10px 16px}
.back{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid rgba(242,203,138,.45);background:rgba(19,12,7,.5);display:grid;place-items:center;cursor:pointer;color:var(--cream);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.back svg{width:18px;height:18px}
.top b{font-family:var(--serif);font-size:13.5px;font-weight:700;letter-spacing:.1em;color:var(--lamp);text-shadow:0 1px 8px rgba(0,0,0,.6)}
#sndB{position:absolute;right:14px;top:calc(env(safe-area-inset-top,0px) + 12px);z-index:30;width:36px;height:36px;border-radius:50%;border:1px solid rgba(242,203,138,.5);background:rgba(19,12,7,.55);color:var(--lamp);display:grid;place-items:center;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
#sndB svg{width:17px;height:17px}
#sndB .x{display:none}#sndB.off .x{display:block}#sndB.off .w{display:none}
.seal{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:0;background:var(--seal);color:#fff4ea;font-family:var(--serif);font-weight:900;font-size:15px;line-height:1.05;text-align:center;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px rgba(255,240,230,.35)}

/* ---------- 1. 방: 할매와의 대화(입력) ---------- */
.talk{position:relative;z-index:2;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(env(safe-area-inset-top,0px) + 72px) 22px calc(env(safe-area-inset-bottom,0px) + 22px)}
.ttl0{text-align:center;transition:opacity .8s,max-height .8s,margin .8s;max-height:240px;overflow:hidden;margin-bottom:22px}
.ttl0.off{opacity:0;max-height:0;margin:0}
.ttl0 small{display:block;font-size:11.5px;letter-spacing:.32em;color:var(--lamp);font-weight:700;text-shadow:0 1px 8px rgba(0,0,0,.7)}
.ttl0 h1{margin:10px 0 0;font-family:var(--brush);font-weight:400;font-size:52px;line-height:1.06;color:#fff;text-shadow:0 4px 24px rgba(0,0,0,.75)}
.ttl0 p{margin:8px 0 0;font-family:var(--bmj);font-size:17px;color:var(--cream2);text-shadow:0 1px 10px rgba(0,0,0,.8)}
.msgs{display:flex;flex-direction:column;gap:12px}
.ln{opacity:0;transform:translateY(10px);max-height:240px;overflow:hidden;transition:opacity .9s ease,transform .9s ease,font-size .6s ease,color .6s,max-height .7s ease .25s,margin .7s ease .25s}
.ln.gone{opacity:0!important;max-height:0;margin:0!important;transition:opacity .45s ease,max-height .7s ease .3s,margin .7s ease .3s}
.ln.on{opacity:1;transform:none}
.ln.n{font-family:var(--bmj);font-size:22px;line-height:1.55;color:#fff;text-shadow:0 2px 14px rgba(0,0,0,.85)}
.ln.n.old{font-size:16px;color:rgba(246,234,212,.45)}
.ln.n small{display:block;font-family:var(--sans);font-size:10.5px;letter-spacing:.3em;color:var(--lamp);font-weight:700;margin-bottom:4px}
.ln.n.old small{display:none}
.ln.me{align-self:flex-end;font-size:14px;color:var(--lamp);letter-spacing:.02em;text-align:right}
.ln.me:before{content:"";display:inline-block;width:18px;height:1px;background:var(--lamp2);vertical-align:middle;margin-right:8px;opacity:.7}
.ln.me.old{opacity:.4}
.ask{margin-top:18px;display:none}
.ask.on{display:block;animation:up .5s ease}
@keyframes up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.field{width:100%;height:50px;border:0;border-bottom:1px solid rgba(242,203,138,.6);background:transparent;color:#fff;padding:0 2px;font-family:var(--serif);font-size:19px;outline:none;border-radius:0}
.field::placeholder{color:rgba(217,199,167,.45)}
.field:focus{border-color:var(--lamp)}
.seg{display:flex;border-bottom:1px solid rgba(242,203,138,.22)}
.seg button{flex:1;height:42px;border:0;background:none;color:var(--cream3);font-size:14.5px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.seg button.on{color:var(--lamp);font-weight:700;border-bottom-color:var(--lamp)}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:10px;border:0}
.choice button{height:56px;margin:0;border:1px solid rgba(242,203,138,.5);background:rgba(19,12,7,.5);color:var(--cream);font-family:var(--serif);font-size:18px;font-weight:700;letter-spacing:.06em;border-radius:0}
.choice button.on{color:var(--cream);border-color:rgba(242,203,138,.5)}
.choice button:active{background:rgba(242,203,138,.18)}
.grid3{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:6px;margin-top:8px}
select{height:48px;border:0;border-bottom:1px solid rgba(242,203,138,.6);background:transparent;color:#fff;font-family:var(--serif);font-size:16px;padding:0 4px;width:100%;border-radius:0;-webkit-appearance:none;appearance:none}
select option{background:#1d130c;color:var(--cream)}
.leap{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--cream2);margin-top:10px}
.leap input{width:18px;height:18px;accent-color:var(--lamp2)}
.leap.off{opacity:.4}
.go{display:block;width:100%;height:54px;margin-top:16px;border:0;border-radius:0;background:linear-gradient(90deg,#c8742c,var(--lamp2) 55%,var(--lamp));color:#1e1209;font-size:15.5px;font-weight:900;letter-spacing:.04em;cursor:pointer}
.go:active{transform:scale(.985)}
.go.ghost{background:rgba(19,12,7,.35);border:1px solid rgba(242,203,138,.6);color:var(--lamp);font-weight:700}
.two{display:grid;gap:8px}
.two .go{margin-top:0}
.fine{font-size:11px;color:var(--cream3);text-align:center;margin-top:16px;line-height:1.6;opacity:.85}

/* ---------- 2. 쌀점 ---------- */
#sRice .scene .ph,#sRice .scene video{transition:filter 1.2s ease,opacity 1.4s ease}
#sRice.tray-on .scene .ph,#sRice.tray-on .scene video.lv.on{filter:blur(7px) brightness(.38) saturate(.78)}
.tray{position:absolute;left:50%;top:calc(env(safe-area-inset-top,0px) + 62px);z-index:3;width:var(--ts,340px);height:var(--ts,340px);margin-left:calc(var(--ts,340px) / -2);opacity:0;transform:translateY(24px) scale(.94);transition:opacity 1s ease,transform 1.2s cubic-bezier(.2,.8,.2,1);pointer-events:none}
#sRice.tray-on .tray{opacity:1;transform:none;pointer-events:auto}
.tray .tim{position:absolute;inset:0;background-color:#24160c;background-image:radial-gradient(circle closest-side at 50% 50%,#c3945b 0,#b4844c 72%,#8a5a2e 76.5%,#6e4322 78%,#a6733f 81%,#c08a52 88%,#5a3519 92.5%,rgba(36,22,12,0) 93.5%);box-shadow:0 26px 60px rgba(0,0,0,.6)}
.tray .tim i{position:absolute;inset:0;background:transparent center/cover no-repeat}
.tray canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:grab}
.tray canvas:active{cursor:grabbing}
.tray .lit{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 70% 60% at 22% 12%,rgba(255,214,150,.20),rgba(255,214,150,0) 60%),radial-gradient(ellipse 75% 75% at 50% 50%,rgba(10,6,3,0) 55%,rgba(10,6,3,.55) 100%)}
.riceUI{position:relative;z-index:4;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(env(safe-area-inset-top,0px) + 72px) 22px calc(env(safe-area-inset-bottom,0px) + 22px);pointer-events:none}
.riceUI>*{pointer-events:auto}
.riceUI .msgs{pointer-events:none}
.step{min-height:20px;margin:0 0 10px;font-size:12px;letter-spacing:.24em;color:var(--lamp);font-weight:700;text-align:center;transition:opacity .4s}
.step:empty{opacity:0}
.prog{height:2px;margin:6px 0 0;background:rgba(242,203,138,.16);overflow:hidden}
.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--lamp2),var(--lamp));transition:width .25s linear}
.lnk{display:block;margin:12px auto 0;border:0;background:none;color:var(--cream3);font-size:12.5px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:6px}
.res{margin:0 0 18px;text-align:center}
.res small{display:block;font-size:11px;letter-spacing:.3em;color:var(--lamp);font-weight:700}
.res b{display:block;margin-top:6px;font-family:var(--brush);font-weight:400;font-size:31px;line-height:1.15;color:#fff;text-shadow:0 3px 18px rgba(0,0,0,.8)}

/* ---------- 3. 열두 달 두루마리 ---------- */
#sScroll .scene .ph{background-position:center 14%}
#sScroll .shade{background:linear-gradient(180deg,rgba(19,12,7,.55) 0%,rgba(19,12,7,0) 16%,rgba(19,12,7,.15) 30%,rgba(19,12,7,.86) 52%,rgba(19,12,7,.97) 74%)}
.scrollUI{position:relative;z-index:2;min-height:100%;display:flex;flex-direction:column;justify-content:flex-end;padding:calc(env(safe-area-inset-top,0px) + 58px) 0 calc(env(safe-area-inset-bottom,0px) + 18px)}
.sSub{min-height:56px;margin:18px 22px 0;text-align:center;font-family:var(--bmj);font-size:18px;line-height:1.55;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.9);transition:opacity .45s ease}
.sSub.out{opacity:0}
.mscroll{position:relative;height:var(--ph,520px);margin:0;outline:none;transition:opacity .5s ease}
.mscroll.hid{opacity:0}
.mscroll:focus-visible{box-shadow:0 0 0 1px rgba(242,203,138,.4)}
.mscroll .win{position:absolute;left:14px;right:14px;top:0;bottom:0;overflow:hidden;clip-path:inset(0 0 0 0);transition:clip-path 1.5s cubic-bezier(.55,.05,.25,1);touch-action:pan-y;cursor:grab}
.mscroll .win:active{cursor:grabbing}
.mscroll.rolled .win{clip-path:inset(0 50% 0 50%)}
.mscroll .win:before,.mscroll .win:after{content:"";position:absolute;top:0;bottom:0;width:34px;z-index:2;pointer-events:none}
.mscroll .win:before{left:0;background:linear-gradient(90deg,rgba(60,38,16,.5),rgba(60,38,16,.16) 40%,rgba(60,38,16,0))}
.mscroll .win:after{right:0;background:linear-gradient(270deg,rgba(60,38,16,.5),rgba(60,38,16,.16) 40%,rgba(60,38,16,0))}
.track{position:absolute;left:0;top:0;width:max-content;height:100%;display:flex;will-change:transform;user-select:none;-webkit-user-select:none;background-color:#f1e5cc;
  background-image:linear-gradient(180deg,#273049 0,#2f3a58 calc(var(--band) - 3px),#c7a465 calc(var(--band) - 3px),#c7a465 calc(var(--band) - 2px),rgba(0,0,0,0) calc(var(--band) - 2px),rgba(0,0,0,0) calc(100% - var(--band) + 2px),#c7a465 calc(100% - var(--band) + 2px),#c7a465 calc(100% - var(--band) + 3px),#2f3a58 calc(100% - var(--band) + 3px),#273049 100%),var(--fiber),radial-gradient(ellipse at 30% 40%,rgba(255,250,236,.6),rgba(255,250,236,0) 70%);background-size:100% 100%,240px 240px,600px 100%}
.roller{position:absolute;top:-14px;bottom:-14px;width:18px;z-index:4;background:linear-gradient(90deg,#24150a,#6e4423 22%,#b98652 46%,#e0b07a 52%,#8a5a31 70%,#2a180b);box-shadow:0 10px 22px rgba(0,0,0,.55);transition:transform 1.5s cubic-bezier(.55,.05,.25,1)}
.roller:before,.roller:after{content:"";position:absolute;left:3px;right:3px;height:10px;background:linear-gradient(90deg,#140b05,#4a2f17 40%,#7a5330 55%,#140b05)}
.roller:before{top:-9px}.roller:after{bottom:-9px}
.roller.l{left:5px}.roller.r{right:5px}
.mscroll.rolled .roller.l{transform:translateX(calc(var(--W) / 2 - 23px))}
.mscroll.rolled .roller.r{transform:translateX(calc(var(--W) / -2 + 23px))}
.pn{flex:none;position:relative;width:var(--pnw);height:100%;padding:calc(var(--band) + 16px) 20px calc(var(--band) + 8px);display:flex;flex-direction:column;align-items:center;color:var(--ink)}
.pn+.pn:before{content:"";position:absolute;left:0;top:var(--band);bottom:var(--band);width:1px;background:linear-gradient(180deg,rgba(120,90,50,0),rgba(120,90,50,.22) 20%,rgba(120,90,50,.22) 80%,rgba(120,90,50,0))}
.pic{position:relative;flex:none;width:var(--pw);height:calc(var(--pw) * 1.3273);background:#e6d8bb;box-shadow:0 0 0 1px rgba(70,46,20,.38),0 0 0 5px #ead9b6,0 0 0 6px rgba(70,46,20,.22),0 8px 16px rgba(60,40,20,.2)}
.pic img{display:block;width:100%;height:100%;object-fit:cover;-webkit-user-drag:none;user-select:none;pointer-events:none}
.pic .alt{position:absolute;inset:0;display:none;place-items:center;padding:16px;text-align:center;font-family:var(--brush);font-size:26px;line-height:1.25;color:rgba(70,46,20,.55);background:radial-gradient(ellipse at 50% 45%,#efe3c8,#dccaa6)}
.pic.nopic img{display:none}.pic.nopic .alt{display:grid}
.pic .seal{position:absolute;right:-10px;bottom:-12px;width:46px;height:46px;font-family:var(--serif);font-size:15px;letter-spacing:.02em}
.pic .seal.mute{background:transparent;color:#6e6255;box-shadow:inset 0 0 0 2px #7d7063;font-size:13px}
.pt{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-top:14px}
.pt b{font-family:var(--brush);font-weight:400;font-size:34px;line-height:1}
.pt span{font-size:12px;color:var(--ink-3);text-align:right;line-height:1.4}
.ps{width:100%;display:flex;align-items:baseline;gap:8px;margin-top:6px}
.ps em{font-style:normal;font-family:var(--serif);font-weight:900;font-size:22px;color:var(--ink);font-variant-numeric:tabular-nums}
.ps em small{font-size:12px;font-weight:700;color:var(--ink-3);margin-left:1px}
.ps span{font-size:12.5px;color:var(--ink-2);line-height:1.4}
.pn.best .pt b,.pn.best .ps em{color:var(--seal)}
.pn.warn .ps em{color:var(--ink-3)}
.pl{width:100%;margin:6px 0 0;font-family:var(--bmj);font-size:15px;line-height:1.5;color:var(--ink)}
.pn.cap{--pnw:var(--capw);justify-content:center;gap:18px}
.vtx{writing-mode:vertical-rl;font-family:var(--bmj);font-size:21px;line-height:1.6;letter-spacing:.12em;color:var(--ink)}
.vtx.big{font-family:var(--brush);font-size:46px;letter-spacing:.04em;line-height:1.05}
.pn.cap small{font-size:11px;letter-spacing:.3em;color:var(--seal);font-weight:700;writing-mode:vertical-rl}
.pn.cap .seal{width:40px;height:40px;font-size:13px}
.dots{display:flex;justify-content:center;gap:0;margin:6px 0 0}
.dots button{width:22px;height:24px;border:0;background:none;padding:0;cursor:pointer;display:grid;place-items:center}
.dots button:before{content:"";width:7px;height:7px;border-radius:50%;background:rgba(242,203,138,.28);transition:background .3s,transform .3s}
.dots button.best:before{background:rgba(217,86,75,.7)}
.dots button.on:before{background:var(--lamp);transform:scale(1.35)}
.sHint{text-align:center;font-size:11.5px;letter-spacing:.2em;color:var(--cream3);margin:4px 0 0}
.sBtns{padding:0 22px}
.sBtns .go{margin-top:14px}

/* ---------- 4. 풀이: 할매의 운세 두루마리(밝은 한지) ---------- */
#sRep{background-color:var(--paper);background-image:var(--hanji),radial-gradient(ellipse at 20% 0%,rgba(255,252,244,.55),rgba(255,252,244,0) 60%);background-size:300px 300px,100% 100%}
.rep{padding:0 0 calc(env(safe-area-inset-bottom,0px) + 110px)}
.cover{position:relative;height:calc(var(--sh) * .72);min-height:470px;overflow:hidden}
.cover .scene{position:absolute}
.cover .shade{background:linear-gradient(180deg,rgba(19,12,7,.55) 0%,rgba(19,12,7,0) 22%,rgba(19,12,7,0) 46%,rgba(19,12,7,.82) 78%,rgba(19,12,7,.96) 100%)}
.cover .ct{position:absolute;left:22px;right:22px;bottom:34px;z-index:2;text-align:center}
.cover .ct small{display:block;font-size:11.5px;letter-spacing:.32em;color:var(--lamp);font-weight:700}
.cover .ct p{margin:12px 0 0;font-family:var(--bmj);font-size:21px;line-height:1.55;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.8)}
.cover .ct i{display:block;width:1px;height:30px;margin:18px auto 0;background:linear-gradient(180deg,var(--lamp),rgba(242,203,138,0));animation:hint 2.4s ease-in-out infinite}
@keyframes hint{0%,100%{opacity:.35;transform:translateY(0)}50%{opacity:1;transform:translateY(6px)}}
.rod{position:relative;z-index:3;height:24px;margin:0 6px;background:linear-gradient(180deg,#2a180b 0%,#7a4b26 20%,#c18c57 42%,#e3b37c 50%,#9a6538 68%,#3b2410 100%);box-shadow:0 8px 14px rgba(40,25,10,.35)}
.rod:before,.rod:after{content:"";position:absolute;top:-5px;bottom:-5px;width:12px;background:linear-gradient(180deg,#140b05,#5a3a1e 40%,#8a6038 52%,#140b05)}
.rod:before{left:-6px}.rod:after{right:-6px}
.rod.t{margin-top:-12px}
.dhead{padding:34px 22px 0;text-align:center}
.dhead small{display:block;font-size:11.5px;color:var(--seal);letter-spacing:.3em;font-weight:700}
.dhead h2{margin:12px 0 0;font-family:var(--brush);font-weight:400;font-size:46px;line-height:1.1;color:var(--ink)}
.dhead p{margin:10px 0 0;font-size:12.5px;line-height:1.6;color:var(--ink-3)}
.quote{display:flex;gap:14px;align-items:flex-start;margin:26px 22px 0;padding:18px 0 18px 16px;border-left:2px solid var(--seal);background:linear-gradient(90deg,rgba(179,50,42,.07),rgba(179,50,42,0) 80%)}
.quote .av{flex:none;width:52px;height:52px;border-radius:50%;background:#2a1a10 center 18%/cover;box-shadow:0 0 0 2px var(--card),0 0 0 3px rgba(179,50,42,.5)}
.quote b{display:block;font-size:11px;letter-spacing:.24em;color:var(--seal);margin-bottom:6px}
.quote p{margin:0;font-family:var(--bmj);font-size:20px;line-height:1.55;color:var(--ink)}
.quote .rice{display:block;margin-top:10px;font-size:12.5px;color:var(--ink-2)}
.quote .rice:empty{display:none}
.sec{margin:46px 0 0;padding:0 22px}
.sec h3{display:block;margin:0 0 18px;font-family:var(--brush);font-weight:400;font-size:32px;line-height:1.15;color:var(--ink)}
.sec h3 i{display:block;margin-top:6px;font-style:normal;font-family:var(--sans);font-size:12px;font-weight:500;line-height:1.5;color:var(--ink-3);letter-spacing:.01em}
.sec h3:after{content:"";display:block;width:44px;height:2px;margin-top:12px;background:var(--seal)}
/* 풀이를 세 장으로 묶는 띠(어두운 장면 위 붓글씨 제목 + 할매 한 줄) */
.toc{display:flex;margin:30px 22px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.toc a{flex:1;padding:14px 4px 13px;text-align:center;font-family:var(--bmj);font-size:16px;line-height:1.3;color:var(--ink);text-decoration:none}
.toc a+a{border-left:1px solid var(--line)}
.toc a b{display:block;font-family:var(--brush);font-weight:400;font-size:22px;color:var(--seal);margin-bottom:2px}
.chap{position:relative;height:250px;margin:64px 0 0;overflow:hidden;color:#fff;scroll-margin-top:56px}
.chap .scene{position:absolute;inset:0}
.chap .scene .ph{background-position:center 28%;animation:none;transform:scale(1.04)}
.chap .glow,.askS .glow,.cover .glow{animation:none;opacity:.9}
.chap,.cover,.askS,.dawn{contain:paint}
.askS .scene .ph{animation:none}
.chap .shade{background:linear-gradient(180deg,rgba(19,12,7,.5) 0%,rgba(19,12,7,.25) 35%,rgba(19,12,7,.86) 82%,rgba(19,12,7,.94) 100%)}
.chap .ct{position:absolute;left:22px;right:22px;bottom:24px;z-index:3}
.chap .ct b{display:block;font-family:var(--brush);font-weight:400;font-size:42px;line-height:1.08;text-shadow:0 3px 18px rgba(0,0,0,.8)}
.chap .ct b span{color:var(--lamp)}
.chap .ct p{margin:10px 0 0;font-family:var(--bmj);font-size:17px;line-height:1.55;color:var(--cream2);text-shadow:0 2px 12px rgba(0,0,0,.85)}
.chap+.sec{margin-top:34px}
table.ms{width:100%;border-collapse:collapse;text-align:center;table-layout:fixed;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.ms th{font-size:12px;color:var(--ink-2);font-weight:700;padding:10px 0 8px;letter-spacing:.06em}
.ms td{border-top:1px solid var(--line);padding:8px 0}
.ms td+td,.ms th+th{border-left:1px solid var(--line)}
.ms .tg{font-size:12px;color:var(--ink-2)}
.ms .ch{font-family:var(--serif);font-weight:900;font-size:30px;line-height:1.1}
.ms .ch small{display:block;font-family:var(--sans);font-size:10.5px;font-weight:500;color:var(--ink-3);margin-top:3px}
.ms .me{position:relative;background:rgba(179,50,42,.06)}
.ms .me:after{content:"나";position:absolute;top:3px;right:5px;font-size:10px;font-weight:700;color:#fff;background:var(--seal);border-radius:0;padding:1px 4px;font-family:var(--sans)}
.ms .hid{font-size:12.5px;color:var(--ink-3);font-family:var(--serif)}
.els{display:grid;gap:10px}
.el{display:grid;grid-template-columns:34px 1fr 22px;gap:10px;align-items:center;font-size:13px}
.el b{font-family:var(--serif);font-size:18px;color:var(--c)}
.el .t{height:8px;border-radius:0;background:rgba(120,90,50,.13);overflow:hidden}
.el .t i{display:block;height:100%;width:0;background:var(--c);border-radius:0;transition:width 1.2s ease}
.el span{text-align:right;color:var(--ink-2);font-variant-numeric:tabular-nums}
.verdict{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line);font-size:14.5px;line-height:1.8;color:var(--ink-2)}
.verdict b{color:var(--ink)}
.du{display:flex;gap:0;overflow-x:auto;scrollbar-width:none;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}
.du::-webkit-scrollbar{display:none}
.du div{flex:none;width:56px;padding:9px 0;text-align:center}
.du div+div{border-left:1px solid var(--line)}
.du div small{display:block;font-size:10.5px;color:var(--ink-3)}
.du div b{display:block;font-family:var(--serif);font-size:18px;line-height:1.25;margin-top:4px}
.du div.now{background:rgba(179,50,42,.08);box-shadow:inset 0 -3px 0 var(--seal)}
.du div.now small,.du div.now b{color:var(--seal)}
.big{display:flex;align-items:flex-end;gap:16px;margin-bottom:16px}
.big .sc{font-family:var(--serif);font-size:64px;font-weight:900;line-height:.86;color:var(--seal)}
.big .sc small{font-size:16px;color:var(--ink-3);font-weight:500;margin-left:2px}
.big .lbl{font-size:13px;color:var(--ink-2);line-height:1.5;padding-bottom:4px}
.big .lbl b{display:block;font-family:var(--bmj);font-weight:400;font-size:22px;color:var(--ink)}
.p{margin:0 0 14px;font-size:15px;line-height:1.85;color:var(--ink)}
.pdeep{margin:-4px 0 16px;padding:10px 0 0 12px;border-left:2px solid var(--ink-3,#9a8f84)}.pdeep small{display:block;font-size:11.5px;font-weight:700;letter-spacing:.04em;color:var(--ink-3,#8a7f73);margin-bottom:3px}.pdeep p{margin:0;font-size:13.5px;line-height:1.75;color:var(--ink-2,#4a433a)}
.p:last-child{margin-bottom:0}
.why{display:inline-flex;flex-wrap:wrap;gap:4px;margin-left:4px;vertical-align:1px}
.why button{border:1px solid rgba(179,50,42,.4);background:rgba(255,248,240,.7);color:var(--seal);font-size:11px;font-weight:700;padding:1px 7px;border-radius:0;cursor:pointer;font-family:var(--serif);line-height:1.6}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:0;border-top:1px solid var(--ink);border-left:1px solid var(--line)}
.fd{padding:14px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.fd b{display:flex;justify-content:space-between;align-items:center;gap:4px;font-family:var(--bmj);font-weight:400;font-size:17px}
.fd b em{font-style:normal;color:var(--seal);letter-spacing:1px;font-size:11.5px;font-family:var(--sans)}
.fd p{margin:8px 0 0;font-size:13px;line-height:1.65;color:var(--ink-2)}
.chart{width:100%;height:170px;display:block}
.months{display:grid;gap:0;margin-top:10px;border-top:1px solid var(--ink)}
.mo{display:grid;grid-template-columns:42px 52px 1fr 30px;gap:8px;align-items:center;padding:11px 0;border-bottom:1px solid var(--line);font-size:13px}
.mo .m{font-weight:700}
.mo .gz{font-family:var(--serif);font-weight:900;font-size:15px}
.mo .tx{color:var(--ink-2);line-height:1.45}
.mo .sc{text-align:right;font-variant-numeric:tabular-nums;font-weight:700}
.mo.best .m,.mo.best .sc{color:var(--seal)}
.mo.warn .sc{color:var(--ink-3)}
.mo .tag{display:inline-block;font-size:10px;font-weight:700;padding:0 5px;border-radius:0;margin-left:4px;vertical-align:1px}
.mo.best .tag{background:var(--seal);color:#fff}
.mo.warn .tag{background:var(--ink-3);color:#fff}
.inkB{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;margin-top:18px;border:1px solid var(--ink);background:none;color:var(--ink);font-size:14.5px;font-weight:700;cursor:pointer;letter-spacing:.02em}
.inkB:active{background:rgba(31,26,20,.06)}
.inkB i{width:20px;height:12px;border:1.5px solid currentColor;border-left-width:3px;border-right-width:3px}
.lockS{position:relative;overflow:hidden;padding-bottom:30px}
.lockS .blur{filter:blur(5px);user-select:none;pointer-events:none}
.lockS .ov{position:absolute;left:0;right:0;bottom:0;top:70px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;background:linear-gradient(180deg,rgba(243,233,213,.2),rgba(243,233,213,.94) 45%);text-align:center;padding:16px}
.lockS .ov b{font-family:var(--bmj);font-weight:400;font-size:20px}
.lockS .ov small{font-size:12.5px;color:var(--ink-2)}
.rod.b{margin-top:34px}

/* 할매에게 묻기(방 장면) */
.askS{position:relative;margin-top:-12px;overflow:hidden;color:var(--cream)}
.askS .scene{position:absolute}
.askS .scene .ph{background-position:center 16%;filter:brightness(.55) saturate(.78) contrast(.9)}
.askS .scene video.lv{filter:brightness(.55)}
.askS .shade{background:linear-gradient(180deg,rgba(19,12,7,.92) 0%,rgba(19,12,7,.5) 30%,rgba(19,12,7,.55) 60%,rgba(19,12,7,.95) 100%)}
.askS .in{position:relative;z-index:2;padding:64px 22px 54px}
.askS .av{width:58px;height:58px;border-radius:50%;background:#000 center 18%/cover;box-shadow:0 0 0 2px var(--lamp2)}
.askS h3{margin:16px 0 6px;font-family:var(--brush);font-weight:400;font-size:34px;color:#fff}
.askS p{margin:0 0 16px;font-size:13.5px;color:var(--cream2);line-height:1.7}
.askS .qs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:6px}
.askS .qs button{border:1px solid rgba(242,203,138,.5);background:rgba(19,12,7,.35);color:var(--cream);font-size:13px;padding:8px 12px;border-radius:0;cursor:pointer}

/* 새벽 · 복주머니 */
.dawn{position:relative;height:calc(var(--sh) * .9);min-height:600px;overflow:hidden;cursor:pointer;color:#fff}
.dawn .scene{position:absolute;background:radial-gradient(ellipse 90% 60% at 50% 30%,#7a4a3a 0%,#3a2218 50%,#1b100a 85%)}
.dawn .scene .ph{background-position:center 30%}
.dawn .day{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(255,206,170,.22) 0%,rgba(255,206,170,0) 45%);mix-blend-mode:screen}
.dawn .open{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.6s ease;background:radial-gradient(ellipse 45% 32% at 50% 52%,rgba(255,226,170,.42),rgba(255,226,170,0) 70%);mix-blend-mode:screen}
.dawn.paid .open{opacity:1}
.dawn .shade{background:linear-gradient(180deg,rgba(19,12,7,.96) 0%,rgba(19,12,7,.2) 16%,rgba(19,12,7,0) 34%,rgba(19,12,7,0) 46%,rgba(19,12,7,.8) 66%,rgba(19,12,7,.96) 86%)}
.dawn .tapz{position:absolute;left:50%;top:48%;z-index:2;width:56%;aspect-ratio:1;transform:translate(-50%,-50%);border:0;border-radius:50%;background:transparent;cursor:pointer}
.dawn .ct{position:absolute;left:22px;right:22px;bottom:calc(env(safe-area-inset-bottom,0px) + 26px);z-index:3;text-align:center}
.dawn .ct small{display:block;font-size:11.5px;letter-spacing:.34em;color:var(--lamp);font-weight:700}
.dawn .ct p{margin:12px 0 0;font-family:var(--bmj);font-size:21px;line-height:1.55;color:#fff;text-shadow:0 2px 16px rgba(0,0,0,.85)}
.dawn .ct p.inside{margin:14px 0 0;font-family:var(--sans);font-size:12.5px;line-height:1.5;color:var(--cream2);letter-spacing:.02em;text-shadow:none}
.dawn .pr{margin:16px 0 0;font-size:12.5px;color:var(--cream2)}
.dawn .pr s{color:var(--cream3)}
.dawn .pr b{color:var(--lamp);font-size:16px}
.dawn .go{margin-top:10px}
.dawn.paid .pr,.dawn.paid .inside{display:none}

/* 결제 바 · 시트 · 토스트 */
.pay{position:absolute;left:0;right:0;bottom:0;z-index:20;padding:30px 16px calc(env(safe-area-inset-bottom,0px) + 14px);background:linear-gradient(180deg,rgba(243,233,213,0),rgba(243,233,213,.95) 22px,var(--paper) 34px);transform:translateY(110%);transition:transform .6s cubic-bezier(.2,.8,.2,1);visibility:hidden}
.pay.on{transform:none;visibility:visible}
.pay.on.hide{transform:translateY(110%)}
.pay .go{margin-top:0;background:var(--ink);color:var(--paper)}
.pay .pr{text-align:center;font-size:12.5px;color:var(--ink-2);margin-bottom:8px}
.pay .pr s{color:var(--ink-3)}
.pay .pr b{color:var(--seal);font-size:14px}
.pay.done .pr{display:none}
.sheet{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;justify-content:flex-end;background:rgba(31,27,22,.4);opacity:0;pointer-events:none;transition:opacity .25s}
.sheet.on{opacity:1;pointer-events:auto}
.sheet .box{background:var(--card);border-radius:0;padding:22px 20px calc(env(safe-area-inset-bottom,0px) + 22px);transform:translateY(20px);transition:transform .25s}
.sheet.on .box{transform:none}
.sheet .box b{display:block;font-family:var(--serif);font-size:19px;margin-bottom:8px}
.sheet .box p{margin:0 0 14px;font-size:14px;line-height:1.7;color:var(--ink-2)}
.sheet .go{background:var(--ink);color:var(--paper)}
.toast{position:absolute;left:50%;bottom:120px;transform:translate(-50%,8px);z-index:60;background:var(--ink);color:var(--paper);font-size:13.5px;padding:10px 16px;border-radius:0;opacity:0;transition:all .3s;pointer-events:none;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}
.note{font-size:11.5px;color:var(--ink-3);line-height:1.6;margin:30px 22px 0}

/* ---------- 프리미엄 상세(한지 문서로) ---------- */
#prem[hidden]{display:none}
#prem{padding-top:0}
#prem:before{content:"";display:block;position:relative;z-index:3;height:24px;margin:-12px 6px 0;background:linear-gradient(180deg,#2a180b 0%,#7a4b26 20%,#c18c57 42%,#e3b37c 50%,#9a6538 68%,#3b2410 100%);box-shadow:0 8px 14px rgba(40,25,10,.35)}
.pv{margin:0;padding:38px 22px 6px;text-align:center;color:var(--ink)}
.pv small{display:block;font-size:11.5px;letter-spacing:.24em;color:var(--seal);font-weight:700}
.pv h3{margin:12px 0 0;font-family:var(--brush);font-weight:400;font-size:46px;line-height:1.1}
.pvl{margin:10px 0 0;font-size:12.5px;color:var(--ink-3)}
.pvk{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.pvk span{display:block;font-size:11.5px;color:var(--seal);font-weight:700;letter-spacing:.1em}
.pvk b{display:block;margin-top:6px;font-family:var(--bmj);font-weight:400;font-size:26px}
.pvq{margin:18px 0 0;font-family:var(--bmj);font-size:18px;line-height:1.7}
#prem .sec h3{font-size:28px}
svg.pan{display:block;width:100%;height:auto;margin:-4px 0 14px}
.mlist{border-top:1px solid var(--ink)}
.mrow{border-bottom:1px solid var(--line)}
.mh{width:100%;display:grid;grid-template-columns:62px 46px 1fr 30px;align-items:center;gap:6px;padding:13px 2px;border:0;background:none;text-align:left;cursor:pointer;color:var(--ink)}
.mh .mm{font-weight:700;font-size:14px}
.mh .mm small{display:block;font-size:10.5px;font-weight:500;color:var(--ink-3);margin-top:1px}
.mh .mg{font-family:var(--serif);font-weight:900;font-size:15px;color:var(--ink-2)}
.mh .mt{font-size:13.5px;color:var(--ink-2)}
.mh .ms2{text-align:right;font-family:var(--serif);font-weight:900;font-size:16px;font-variant-numeric:tabular-nums}
.mrow.best .mm,.mrow.best .ms2{color:var(--seal)}
.mrow.warn .ms2{color:var(--ink-3)}
.mb{display:none;padding:0 2px 18px}
.mrow.open .mb{display:block}
.mrow.open .mh{padding-bottom:6px}
.mterm{margin:0 0 8px;font-size:12px;color:var(--ink-3)}
.mdo p{margin:0 0 5px;font-size:13.5px;line-height:1.6;color:var(--ink)}
.mdo b{display:inline-block;min-width:84px;font-size:12px;color:var(--ink-3);font-weight:700}
.duty{display:flex;gap:10px;align-items:flex-start;margin:2px 0 12px;padding:12px;background:rgba(120,90,50,.08);border-left:2px solid var(--earth)}
.duty i{flex:none;width:40px;height:40px;border-radius:50%;background:#fff 50% 15%/170% no-repeat;box-shadow:0 0 0 2px var(--card),0 0 0 3px rgba(167,121,44,.6)}
.duty small{display:block;font-size:11px;color:var(--earth);font-weight:700;letter-spacing:.04em}
.duty p{margin:3px 0 0;font-family:var(--bmj);font-size:15px;line-height:1.55;color:var(--ink)}
.m5{display:grid;grid-template-columns:1fr;gap:0;margin:2px 0 12px;border-top:1px solid var(--line)}
.m5 div{display:grid;grid-template-columns:64px 1fr;gap:8px;padding:9px 0;border-bottom:1px solid var(--line)}
.m5 small{font-size:12px;font-weight:700;color:var(--seal);padding-top:1px}
.m5 p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink)}
.evid{margin:10px 0 0;font-size:11.5px;line-height:1.6;color:var(--ink-3)}
.fdots{display:inline-flex;gap:3px;vertical-align:-1px}
.fdots i{width:8px;height:8px;border-radius:50%;border:1px solid var(--earth);background:transparent}
.fdots i.on{background:var(--earth)}
.fstrip{display:grid;grid-template-columns:repeat(12,1fr);gap:0;margin:4px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fstrip div{text-align:center;padding:8px 0 7px}
.fstrip div.on{background:rgba(167,121,44,.12)}
.fstrip b{display:block;font-size:11.5px;margin-bottom:4px}
.fstrip .fdots{flex-direction:column;gap:2px}
.fstrip .fdots i{width:6px;height:6px}
.vt{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink);margin-bottom:12px}
.vt button{height:42px;border:0;background:none;font-size:14px;font-weight:700;color:var(--ink);cursor:pointer}
.vt button.on{background:var(--ink);color:var(--paper)}
.atabs{display:flex;gap:4px;margin-bottom:12px;overflow-x:auto;scrollbar-width:none}
.atabs::-webkit-scrollbar{display:none}
.atabs button{flex:none;height:34px;padding:0 12px;border:1px solid var(--line);background:transparent;font-size:13px;font-weight:700;color:var(--ink-2);cursor:pointer}
.atabs button.on{border-color:var(--seal);color:var(--seal)}
.asum{margin-bottom:6px}
.aline{margin-top:12px;border-top:1px solid var(--line)}
.al{display:grid;grid-template-columns:38px 1fr;gap:4px 10px;padding:10px 0;border-bottom:1px solid var(--line)}
.al b{font-size:13.5px}
.al.best b{color:var(--seal)}
.al .ab{align-self:center;height:5px;background:rgba(120,90,50,.13)}
.al .ab i{display:block;height:100%;background:var(--ink-2)}
.al.best .ab i{background:var(--seal)}
.al p{grid-column:2;margin:0;font-size:13.5px;line-height:1.6;color:var(--ink)}
.tip{margin:8px 0 0;font-family:var(--bmj);font-size:16px;line-height:1.6;color:var(--ink)}
.du2{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.du2 div{flex:1;padding:10px 12px;border:1px solid var(--line);background:rgba(255,252,244,.5)}
.du2 div.next{border-color:var(--earth);background:rgba(167,121,44,.1)}
.du2 small{display:block;font-size:11.5px;color:var(--ink-3);font-weight:700}
.du2 b{display:block;margin-top:2px;font-family:var(--serif);font-size:22px;font-weight:900}
.du2 em{display:block;font-style:normal;font-size:12px;color:var(--ink-2)}
.du2 .arr{color:var(--ink-3);font-size:16px}
.bw{display:grid;gap:0;border-top:1px solid var(--ink)}
.bwr{display:grid;grid-template-columns:52px 1fr;gap:10px;padding:14px 0;border-bottom:1px solid var(--line)}
.bwr>b{font-family:var(--serif);font-size:20px;font-weight:900;line-height:1.2}
.bwr.good>b{color:var(--seal)}
.bwr.bad>b{color:var(--ink-3)}
.bwr p{margin:0;font-size:13.5px;line-height:1.6;color:var(--ink-2)}
.bwr .bt{font-weight:700;color:var(--ink);margin-bottom:3px}
.rx3{display:grid;grid-template-columns:repeat(3,1fr);margin:6px 0 14px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rx3 div{padding:12px 4px;text-align:center}
.rx3 div+div{border-left:1px solid var(--line)}
.rx3 small{display:block;font-size:12px;color:var(--ink-3);font-weight:700}
.rx3 b{display:block;margin-top:3px;font-size:16px;font-weight:900}
.rxl{margin:0 0 14px;padding-left:20px;font-size:14px;line-height:1.9;color:var(--ink)}
.rxm{display:flex;align-items:center;gap:12px;padding:10px 12px;background:rgba(255,252,244,.6);border:1px solid var(--line);text-decoration:none;color:var(--ink)}
.rxm i{flex:none;width:44px;height:44px;border-radius:50%;background:#fff 50% 15%/170% no-repeat}
.rxm b{display:block;font-size:14px}
.rxm small{display:block;margin-top:2px;font-size:12.5px;color:var(--seal);font-weight:700}
.dr{padding:12px 0;border-top:1px solid var(--line)}
.dr:first-of-type{border-top:0;padding-top:0}
.dr>b{display:block;font-size:14px;font-weight:700;margin-bottom:6px}
.dr>div{display:grid;gap:4px}
.dr span{display:flex;justify-content:space-between;font-size:14px;color:var(--ink)}
.dr span em{font-style:normal;font-family:var(--serif);color:var(--ink-3);font-size:13px}
.dr>p{margin:6px 0 0;font-size:12px;color:var(--ink-3)}
.fine2{margin:12px 0 0;font-size:12px;line-height:1.6;color:var(--ink-3)}
.letter{padding-top:30px;padding-bottom:30px;background:linear-gradient(180deg,rgba(255,252,244,0),rgba(255,252,244,.75) 20%,rgba(255,252,244,.75) 80%,rgba(255,252,244,0))}
.letter #ltx p{margin:0 0 26px;font-family:var(--bmj);font-size:17.5px;line-height:1.85;color:var(--ink-2)}
.letter #ltx p b{font-weight:700;color:var(--ink)}
.letter #ltx p b.lead{display:block;margin-bottom:4px;font-size:19px;line-height:1.6}
#prem .sec p b.lead{display:block;margin-bottom:2px;font-weight:700;color:var(--ink)}
#prem .sec p b.emk,.letter #ltx p b.emk{font-weight:700;color:var(--ink)}
.letter #ltx hr{width:40px;height:0;margin:6px auto 32px;border:0;border-top:1.5px solid rgba(179,50,42,.55)}
#prem .sec{margin-top:64px}
/* 10/4 할매 고도화: 한눈에 · 곁의 사람들 · 묻고 답하기 */
#prem .gl6{margin:0;border-top:2px solid var(--ink)}
#prem .gl6>div{display:grid;grid-template-columns:92px 1fr;gap:12px;padding:12px 0;border-bottom:1px solid rgba(40,30,20,.14)}
#prem .gl6 dt{font-size:13px;font-weight:800;color:#a8322a}
#prem .gl6 dd{margin:0;font-size:15.5px;line-height:1.6;font-weight:600}
#prem .pp{margin:0 0 22px;padding:16px 16px 4px;background:rgba(255,255,255,.45);border-left:3px solid var(--ink-3,#9a8f84)}
#prem .pp.good{border-left-color:#3f7d5a}#prem .pp.bad{border-left-color:#a8322a}
#prem .pp small{display:block;font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--ink-3,#8a7f74)}
#prem .pp b{display:block;margin:4px 0 10px;font-size:17px;font-weight:800;line-height:1.45}
#prem .qa{margin:0 0 22px;padding-top:14px;border-top:1px solid rgba(40,30,20,.14)}
#prem .qa .q{margin:0 0 8px;font-weight:800;font-size:16.5px;color:var(--ink)}
#prem .qa .q::before{content:"물음";display:inline-block;margin-right:8px;padding:2px 6px;font-size:11px;font-weight:800;color:#fff;background:#a8322a;vertical-align:2px}
#prem .sec h3{margin-bottom:22px}
#prem .sec p,#prem .tip,#prem .mdo p,#prem .m5 p,#prem .al p,#prem .bwr p{line-height:1.75}
.letter .sign{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:16px 0 0;font-family:var(--serif);font-weight:700;font-size:14px}
.letter .sign .seal{width:38px;height:38px;font-size:11px}
.aiL{width:100%;height:46px;margin-top:14px;border:1px solid var(--ink);background:none;color:var(--ink);font-size:14px;font-weight:700;cursor:pointer}
.ainote{margin:8px 0 0;font-size:12px;color:var(--ink-3)}
.aist{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;margin:14px 22px 0;padding:12px 14px;background:rgba(255,252,244,.7);border:1px solid var(--seal)}
.aist[hidden]{display:none}
.aist i{width:14px;height:14px;border:2px solid var(--seal);border-right-color:transparent;border-radius:50%;animation:aispin 1s linear infinite}
.aist span{font-size:13.5px;font-weight:700;color:var(--ink)}
.aist small{flex-basis:100%;font-size:12px;line-height:1.5;color:var(--ink-3)}
@keyframes aispin{to{transform:rotate(360deg)}}
#prem .note{margin:24px 22px 0}

@media (max-height:720px){
  .riceUI .ln.old{display:none}
  .res{margin-bottom:10px}.res b{font-size:27px}
  .ln.n{font-size:19px}
  .sSub{margin-top:12px;min-height:50px;font-size:16.5px}
}
@media (prefers-reduced-motion:reduce){
  .scene .ph,.glow,.cover .ct i{animation:none}
  .mscroll .win,.roller{transition:none}
  .ln,.tray{transition:opacity .3s}
}
