:root{font-family:Inter,Arial,sans-serif;color:#e6d7be;background:#08090a;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}.app-shell{min-height:100dvh;background:#09090a}.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,65px);border-bottom:1px solid #403225;background:#090909ed;position:relative;z-index:2}.brand{font-family:Cinzel,Georgia,serif;color:#e8d2a9;text-decoration:none;font-size:19px;white-space:nowrap}.sigil{color:#c4a06b;font-size:25px;margin-right:9px}.centerbrand{font-family:Cinzel,serif;font-size:13px;color:#cbb58d;letter-spacing:2px}.centerbrand span{font-size:11px}.head-actions{display:flex;align-items:center;gap:17px}.iconbtn,.exit{background:transparent;border:0;color:#d7bb8a;font-size:20px}.exit{font-size:13px;border:1px solid #54432f;padding:9px 16px;border-radius:22px}.home{min-height:calc(100dvh - 70px);position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;text-align:center}.hero-visual{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,#08090a75,#08090a35 48%,#08090aa0),linear-gradient(0deg,#08090a 0%,transparent 30%,#08090a50),url(/assets/hero.jpg) center 52%/cover;opacity:.68;filter:brightness(.68)}.hero-copy{position:relative;z-index:1;padding:30px 20px 100px;text-shadow:0 2px 16px #000}.eyebrow{font-size:10px;color:#c2a373;letter-spacing:3px;font-weight:600}.ornament{font-size:13px;color:#ab8652;margin:23px}.hero-copy h1,.intro-panel h1,.ending-card h1{font-family:Cinzel,Georgia,serif;font-weight:400;letter-spacing:8px;font-size:clamp(56px,9vw,104px);line-height:1.05;margin:15px 0;color:#ead1a5}.hero-copy h1 span{display:block;font-size:clamp(17px,2.5vw,30px);letter-spacing:10px;margin-top:12px}.rule{color:#c69b5c;margin:23px auto;font-size:23px}.tagline{font-family:Georgia,serif;font-style:italic;color:#e4c99e;font-size:clamp(19px,2.2vw,27px);line-height:1.5;margin:26px auto 36px}.goldbtn{border:1px solid #b48b55;color:#f4d9a8;background:linear-gradient(180deg,#33271a,#16110c);box-shadow:0 0 16px #b68a463b,inset 0 0 0 2px #21180f;padding:16px 30px;font-family:Cinzel,Georgia,serif;font-size:14px;letter-spacing:1px;min-height:52px}.goldbtn span{margin-left:15px}.goldbtn:hover{border-color:#f0c98c;background:#3d2d1a}.disclaimer{font-size:11px;color:#a69c90;margin-top:22px}.features{position:absolute;bottom:23px;display:flex;gap:clamp(12px,5vw,70px);font-size:12px;color:#b4a48e;z-index:1}.intro-scene,.ending-scene{min-height:calc(100dvh - 70px);display:grid;place-items:center;padding:28px 18px;background:linear-gradient(90deg,#08090af0,#08090a80),url(/assets/study.jpg) center/cover}.intro-panel,.ending-card{max-width:600px;text-align:center;border:1px solid #59442b;background:#0a0908df;padding:clamp(25px,5vw,60px);box-shadow:0 20px 100px #000}.intro-panel h1{font-size:clamp(34px,5vw,60px);letter-spacing:3px}.intro-panel p,.ending-card p{line-height:1.9;color:#c5b8a4;font-size:14px}.line{width:100px;border-top:1px solid #ae8653;margin:25px auto}.notice{font-size:12px;color:#cfb58d;padding:18px;border:1px solid #4e3c29;margin:25px 0}.actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:25px}.ghostbtn{background:transparent;border:1px solid #66533b;color:#c9b696;padding:14px 22px}.session{max-width:1280px;margin:auto;padding:25px clamp(14px,3vw,45px) 28px}.session-meta{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-bottom:18px}.session-meta h2{font-family:Cinzel,Georgia,serif;font-size:25px;font-weight:400;margin:7px 0 0;color:#e7d2ad}.meta-right{font-family:Georgia,serif;font-style:italic;color:#a99b89;font-size:14px}.board-frame{position:relative;width:100%;aspect-ratio:2.155;overflow:hidden;border:1px solid #80603a;box-shadow:0 0 0 5px #14110e,0 16px 60px #000;background:#1a110d}.board-image{width:100%;height:100%;object-fit:cover;display:block}.board-vignette{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#080808a6,transparent 27%),linear-gradient(90deg,#0003,transparent 20%,transparent 80%,#0003);pointer-events:none}.response-banner{position:absolute;bottom:3%;left:50%;transform:translate(-50%);text-align:center;background:#090909d9;border:1px solid #715637;padding:10px 25px;min-width:min(80%,350px);box-shadow:0 0 25px #000}.response-banner span{display:block;font-size:9px;letter-spacing:2px;color:#bfa77f}.response-banner strong{display:block;font-family:Cinzel,Georgia,serif;letter-spacing:2px;font-weight:500;font-size:clamp(13px,2vw,20px);margin-top:6px}.moving-orb{position:absolute;top:48%;left:49%;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,#ffebba9e,#e4a95b48 35%,transparent 75%);opacity:0;pointer-events:none}.moving-orb.active{opacity:1;animation:drift 1.4s ease-in-out infinite alternate}@keyframes drift{0%{transform:translate(-85px,-30px)}to{transform:translate(110px,28px)}}.controls{display:flex;gap:15px;margin-top:24px}.controls form{display:flex;flex:1;min-width:0;border:1px solid #745533;background:#111;min-height:56px}.controls input{flex:1;min-width:0;color:#f2e2c8;background:transparent;border:0;outline:none;padding:0 18px;font-size:14px}.controls input::placeholder{color:#91877b}.send{background:transparent;border:0;color:#e1b77c;font-size:24px;padding:0 20px}.suggestbtn{background:#17120d;border:1px solid #71532e;color:#d9b986;padding:0 20px;white-space:nowrap}.bottom-actions{display:flex;align-items:center;gap:20px;margin-top:17px;color:#a99c8b;font-size:12px}.status{margin-right:auto}.textbtn{background:transparent;border:0;color:#d7b27c;text-decoration:underline;text-underline-offset:4px;font-size:12px}.ending-card h1{font-size:clamp(50px,9vw,90px)}.ending-card h2{font-family:Cinzel,serif;color:#e2c79d;font-weight:400}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;background:#000c;display:grid;place-items:center;padding:16px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal{position:relative;width:min(100%,510px);max-height:85dvh;overflow:auto;background:#12100e;border:1px solid #85633b;box-shadow:0 15px 70px #000;padding:32px;color:#d8c5a7}.modal h2{font-family:Cinzel,serif;font-weight:400;font-size:26px}.modal p{font-size:13px;line-height:1.8;color:#b8a995}.modal-close{position:absolute;top:16px;right:16px;background:transparent;border:0;color:#e4c69b;font-size:19px}.setting-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;border-bottom:1px solid #423528;font-size:13px}.setting-row select{background:#201b15;color:#e7d4b4;border:1px solid #685137;padding:8px}.small{font-size:11px!important}.suggest-list{display:grid;gap:8px;margin-top:20px}.suggest-list button{background:#1c1712;color:#e2c9a2;border:1px solid #58432b;text-align:left;padding:15px;display:flex;justify-content:space-between}.history-list{max-height:50vh;overflow:auto}.history-list>div{border-bottom:1px solid #3d3227;padding:12px 0}.history-list small{font-size:9px;letter-spacing:2px;color:#aa8d61}.history-list p{margin:5px 0 12px}.history-list strong{font-family:Cinzel,serif;display:block;margin:7px 0;color:#f0d2a2}.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(max-width:700px){.topbar{height:60px;padding:0 14px}.brand{font-size:13px}.sigil{font-size:18px;margin-right:4px}.centerbrand{display:none}.head-actions{gap:9px}.iconbtn{font-size:19px}.exit{padding:7px 10px;font-size:11px}.hero-visual{background-position:42% center}.hero-copy{padding-bottom:100px}.hero-copy h1{font-size:clamp(48px,14vw,75px);letter-spacing:4px}.hero-copy h1 span{letter-spacing:6px}.features{width:100%;justify-content:space-around;gap:5px;padding:0 8px;font-size:9px;bottom:24px}.session{padding:20px 13px}.session-meta h2{font-size:19px}.meta-right{font-size:11px;max-width:125px;text-align:right}.board-frame{aspect-ratio:.95}.board-image{object-fit:cover;object-position:50% center}.response-banner{bottom:5%;width:88%;min-width:0;padding:10px 7px}.response-banner strong{font-size:14px}.controls{flex-direction:column;margin-top:18px;gap:10px}.controls form{flex:none;min-height:55px}.suggestbtn{padding:14px}.bottom-actions{flex-wrap:wrap;gap:13px}.status{width:100%}.intro-panel,.ending-card{padding:30px 19px}.intro-scene,.ending-scene{min-height:calc(100dvh - 60px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.app-shell{display:flex;flex-direction:column;min-height:100dvh}.app-shell>main{flex:1}.topbar{height:86px;background:linear-gradient(180deg,#13100e,#09090af7);border-bottom:1px solid #6e4c29;box-shadow:0 7px 28px #000a;padding:0 clamp(16px,3vw,48px)}.brand{display:flex;align-items:center;gap:12px;min-width:210px}.brand-logo{width:61px;height:61px;object-fit:contain;filter:drop-shadow(0 0 9px #b9904a33)}.brand-type{display:flex;flex-direction:column;gap:4px}.brand-type strong{font-size:14px;letter-spacing:1.5px}.brand-type small{font-family:Inter,Arial,sans-serif;font-size:8px;letter-spacing:1.7px;color:#9b805b}.header-title{display:flex;align-items:center;flex-direction:column;gap:7px}.header-kicker{font-size:9px;color:#806d53;letter-spacing:2.6px}.centerbrand{font-size:17px;letter-spacing:2.5px}.centerbrand span{font-size:12px}.head-actions{gap:11px}.iconbtn{border:1px solid #493924;background:#18130f;padding:7px 11px;min-width:39px;min-height:39px;border-radius:4px}.iconbtn:hover,.exit:hover{border-color:#bc935c;background:#292016}.exit{border-radius:4px;font-family:Cinzel,serif;letter-spacing:1px;padding:11px 15px}.exit span{margin-left:5px}.live-dot{height:5px;width:5px;border-radius:50%;background:#986d45;box-shadow:0 0 12px #bf8759;animation:breathe 3.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.2}}.site-footer{background:#090807;border-top:1px solid #3e2e1d;position:relative;z-index:1}.footer-inner{max-width:1440px;margin:auto;padding:22px clamp(18px,3vw,48px);display:flex;justify-content:space-between;align-items:center;gap:18px}.footer-sign{display:flex;align-items:center;gap:12px}.footer-mark{font-size:23px;color:#cba46e}.footer-sign div,.footer-right{display:flex;flex-direction:column;gap:5px}.footer-sign strong{font:500 12px Cinzel,Georgia,serif;letter-spacing:1.6px;color:#d9c3a0}.footer-sign small,.footer-right{font-size:10px;color:#8e8170}.footer-right{text-align:right}.footer-right a{font-weight:700;letter-spacing:1px;color:#d8b67e;text-decoration:none}.footer-right a:hover{text-decoration:underline}.footer-right b{font-size:13px}.planchette{position:absolute;width:16.3%;height:auto;left:51.8%;top:54%;transform:translate(-50%,-50%);z-index:1;filter:drop-shadow(0 10px 8px #000c);transition:left .55s cubic-bezier(.22,.8,.22,1),top .55s cubic-bezier(.22,.8,.22,1),transform .55s ease;pointer-events:none}.planchette.reading{filter:drop-shadow(0 10px 12px #000) drop-shadow(0 0 7px #d9a15e55)}.letter-readout{position:absolute;top:12px;right:14px;font:20px Cinzel,serif;color:#f1d2a0;text-shadow:0 0 18px #000;z-index:2}.response-banner{z-index:2;pointer-events:none}.board-image{object-fit:fill}.board-frame{isolation:isolate}@media(max-width:900px){.header-title{display:none}.brand{min-width:0}.topbar{height:76px}}@media(max-width:700px){.topbar{height:68px;padding:0 11px}.brand{gap:7px}.brand-logo{width:43px;height:43px}.brand-type strong{font-size:10px;letter-spacing:.5px}.brand-type small{font-size:6px;letter-spacing:.7px}.head-actions{gap:5px}.iconbtn{padding:5px 7px;min-width:30px;min-height:34px;font-size:16px}.exit{padding:8px;font-size:9px}.exit span,.live-dot{display:none}.board-frame{aspect-ratio:1.45}.board-image{object-fit:fill}.planchette{width:16.3%}.response-banner{bottom:2%;padding:7px 6px}.footer-inner{flex-direction:column;text-align:center;padding:18px 12px}.footer-right{text-align:center}.footer-sign{justify-content:center}.footer-sign strong{font-size:10px}.footer-sign small{font-size:9px}.home{min-height:calc(100dvh - 68px)}.features{bottom:14px}.hero-copy{padding-bottom:88px}}@media(prefers-reduced-motion:reduce){.planchette{transition:none}.live-dot{animation:none}}html{width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%}body{width:100%;overflow-x:hidden;overscroll-behavior-x:none}button,a{touch-action:manipulation}input,textarea,select{font-size:16px!important}.controls input{font-size:16px!important;line-height:1.4}.board-frame{touch-action:pan-y;max-width:100%}@media(max-width:700px){.app-shell{width:100%;overflow-x:clip}.session{width:100%;min-width:0;padding:14px 12px 20px}.board-frame{aspect-ratio:1.45;max-height:min(56dvh,470px)}.controls{margin-top:14px}.controls form{min-height:52px}.iconbtn{font-size:11px;font-weight:700;white-space:nowrap}.session-meta{margin-bottom:12px}.session-meta h2{font-size:18px}.footer-inner{padding:12px}}
