@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@400;700;900&family=Noto+Sans+JP:wght@300;400;700&display=swap');
*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --base:#0F1412;--base-2:#161E1B;--base-3:#1C2622;
  --accent:#38f28b;--contrast:rgba(243,251,247,.96);
  --green:var(--accent);--cyan:#61dafb;--orange:#ffb454;--red:#ff5f72;
  --bg:var(--base);--panel:rgba(22,30,27,.88);--border:rgba(166,255,209,.14);
  --text:var(--contrast);--text-dim:rgba(198,220,208,.78);
  --ritual:#e5b85c;
  --wood:#38f28b;--fire:#ff6b63;--earth:#e5b85c;--metal:#dce6e2;--water:#6e9cff;
}
body{min-height:100vh;background:var(--bg);font-family:'Noto Sans JP',sans-serif;color:var(--text);overflow-x:hidden;}
body::after{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(56,242,139,0.018) 1px,transparent 1px),linear-gradient(90deg,rgba(56,242,139,0.018) 1px,transparent 1px);background-size:72px 72px;pointer-events:none;z-index:0;mask-image:linear-gradient(to bottom,#000 0%,transparent 78%);}
@keyframes rotate{to{transform:rotate(360deg);}}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:translateY(0);}}
header{position:sticky;top:0;z-index:30;padding:13px 22px;border-bottom:1px solid var(--border);background:rgba(7,11,10,0.86);backdrop-filter:blur(18px);display:flex;align-items:center;gap:14px;}
.logo-circle{width:44px;height:44px;border:2px solid var(--green);border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative;flex-shrink:0;}
.logo-circle::before{content:'';position:absolute;width:54px;height:54px;border:1px solid rgba(0,255,65,0.25);border-top-color:var(--green);border-radius:50%;animation:rotate 5s linear infinite;}
.logo-inner{font-family:'Orbitron',monospace;font-size:10px;font-weight:900;color:var(--green);}
.logo-text h1{font-family:'Orbitron',monospace;font-size:clamp(14px,2vw,20px);font-weight:900;letter-spacing:0.22em;text-shadow:0 0 10px rgba(0,255,65,0.5);}
.logo-text p{font-size:9px;color:var(--text-dim);letter-spacing:0.28em;margin-top:3px;}
.header-right{margin-left:auto;display:flex;align-items:center;gap:8px;}
.reset-btn{background:transparent;border:1px solid var(--border);color:var(--text-dim);font-family:'Orbitron',monospace;font-size:9px;letter-spacing:0.1em;padding:7px 12px;cursor:pointer;border-radius:2px;}
.reset-btn:hover{border-color:var(--green);color:var(--green);}
.restart-reading-btn{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:9px 15px;border:1px solid rgba(56,242,139,.42);border-radius:999px;background:rgba(56,242,139,.07);color:#9bffc6;font-family:'Noto Sans JP',sans-serif;font-size:12px;letter-spacing:.03em;cursor:pointer;transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;}
.restart-reading-btn:hover{background:rgba(56,242,139,.15);border-color:rgba(56,242,139,.75);transform:translateY(-1px);box-shadow:0 8px 22px rgba(56,242,139,.12);}
.restart-reading-btn:focus-visible{outline:2px solid var(--green);outline-offset:3px;}
.wrap{max-width:1240px;margin:0 auto;padding:26px 22px 92px;position:relative;z-index:1;}
/* 読み込み中(入力画面も結果画面もまだ出ていない間)は本文の高さを画面いっぱいに取っておく。空のままだと下の注意書き(footer)が上に見えていて、結果が出た瞬間に押し下げられ画面がガタついていた(2026-10-05・CLS 0.10) */
.wrap:has(#input.hidden):has(#dash.hidden){min-height:100vh}
.panel{background:linear-gradient(145deg,rgba(18,31,26,0.88),rgba(10,18,15,0.82));border:1px solid var(--border);border-radius:14px;padding:20px;position:relative;animation:fadeInUp 0.35s ease;box-shadow:0 18px 50px rgba(0,0,0,.18);}
.panel-title{font-family:'Noto Sans JP',sans-serif;font-size:13px;font-weight:700;letter-spacing:0.04em;color:var(--text);margin-bottom:15px;padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,0.07);}
.panel-title::before{content:'◆';color:var(--green);font-size:8px;margin-right:9px;vertical-align:2px;}
/* 入力フォーム */
.input-shell{min-height:calc(100vh - 150px);display:grid;grid-template-columns:minmax(260px,.8fr) minmax(520px,1.2fr);gap:54px;align-items:center;max-width:1120px;margin:0 auto;}
.input-intro{padding:28px 8px;}
.input-kicker{font-family:'Orbitron',monospace;font-size:10px;letter-spacing:.28em;color:var(--green);margin-bottom:18px;}
.input-intro h2{font-size:clamp(30px,4vw,54px);line-height:1.18;letter-spacing:-.035em;color:#f3fbf7;margin-bottom:20px;}
.input-intro p{font-size:14px;color:var(--text-dim);line-height:1.9;max-width:480px;}
.intro-pills{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px}.intro-pills span{padding:7px 11px;border-radius:999px;border:1px solid var(--border);font-size:10px;color:rgba(220,240,230,.72);background:rgba(255,255,255,.025)}
.input-center{max-width:680px;margin:0;}
label{font-family:'Orbitron',monospace;font-size:9px;letter-spacing:0.2em;color:var(--text-dim);display:block;margin-bottom:6px;}
input,select{background:rgba(255,255,255,0.035);border:1px solid var(--border);border-radius:9px;padding:13px 14px;color:var(--text);font-size:14px;font-family:'Noto Sans JP',sans-serif;width:100%;outline:none;}
input:focus,select:focus{border-color:rgba(0,255,65,0.6);box-shadow:0 0 12px rgba(0,255,65,0.15);}
select option{background:#000d00;color:var(--green);}
.grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.input-group{margin-bottom:14px;}
.btn-primary{background:linear-gradient(135deg,#23d978,#44f09a);border:0;color:#03120a;padding:16px 32px;border-radius:9px;font-family:'Noto Sans JP',sans-serif;font-size:14px;font-weight:700;letter-spacing:.04em;cursor:pointer;width:100%;margin-top:14px;box-shadow:0 12px 30px rgba(56,242,139,.18);}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 16px 34px rgba(56,242,139,.26);}
/* ダッシュボード グリッド */
.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px;}
.col-4{grid-column:span 4;}.col-5{grid-column:span 5;}.col-6{grid-column:span 6;}.col-7{grid-column:span 7;}.col-8{grid-column:span 8;}.col-12{grid-column:span 12;}
@media(max-width:820px){.col-4,.col-5,.col-6,.col-7,.col-8{grid-column:span 12;}.compat-wrap,.gogyo-wrap{grid-template-columns:1fr !important;}}
.dash-nav{position:sticky;top:73px;z-index:25;display:flex;gap:5px;padding:7px;margin-bottom:16px;border:1px solid var(--border);border-radius:12px;background:rgba(7,11,10,.88);backdrop-filter:blur(16px);overflow-x:auto;scrollbar-width:none}.dash-nav::-webkit-scrollbar{display:none}.dash-nav button{flex:1;min-width:96px;border:0;border-radius:8px;background:transparent;color:var(--text-dim);padding:10px 13px;font-family:'Noto Sans JP',sans-serif;font-size:12px;cursor:pointer;white-space:nowrap}.dash-nav button:hover{color:var(--text);background:rgba(255,255,255,.04)}.dash-nav button.active{color:#05130c;background:var(--green);font-weight:700;box-shadow:0 8px 22px rgba(56,242,139,.15)}
.dash-nav button{display:flex;align-items:center;justify-content:center;gap:8px}.dash-nav .nav-glyph{font-size:14px;opacity:.8}.dash-nav .nav-label{display:flex;flex-direction:column;align-items:flex-start;line-height:1.1}.dash-nav .nav-label small{font-family:'Orbitron',monospace;font-size:7px;letter-spacing:.12em;opacity:.48;margin-top:4px}.dash-subnav{position:sticky;top:134px;z-index:24;display:flex;align-items:center;gap:7px;min-height:42px;margin:0 0 16px;padding:6px 8px;overflow-x:auto;scrollbar-width:none;border:1px solid var(--border);border-radius:10px;background:rgba(7,11,10,.9);backdrop-filter:blur(16px)}.dash-subnav::-webkit-scrollbar{display:none}.dash-subnav:before{content:'FILTER';font-family:'Orbitron',monospace;font-size:7px;letter-spacing:.18em;color:var(--text-dim);margin-right:3px}.dash-subnav button{border:1px solid var(--border);border-radius:999px;background:rgba(255,255,255,.02);color:var(--text-dim);padding:7px 13px;font-size:11px;white-space:nowrap;cursor:pointer}.dash-subnav button:hover{color:var(--text);border-color:rgba(56,242,139,.28)}.dash-subnav button.active{color:var(--green);border-color:rgba(56,242,139,.42);background:rgba(56,242,139,.08)}
.dash-nav{overflow:visible}.dash-nav>.nav-item{position:relative;display:flex;flex:1;min-width:96px}.dash-nav>.nav-item>.nav-main{width:100%;min-width:0}.dash-nav>.nav-item.active>.nav-main{color:#05130c;background:var(--green);font-weight:700;box-shadow:0 8px 22px rgba(56,242,139,.15)}.nav-flyout{position:absolute;display:flex;flex-direction:column;gap:4px;top:calc(100% + 7px);left:50%;width:max-content;min-width:178px;padding:7px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-7px);transition:opacity .16s ease,transform .16s ease,visibility .16s;background:rgba(7,13,11,.98);border:1px solid rgba(166,255,209,.17);border-radius:11px;box-shadow:0 20px 50px rgba(0,0,0,.45);backdrop-filter:blur(18px);z-index:60}.nav-flyout:before{content:'';position:absolute;left:0;right:0;top:-9px;height:10px}.nav-item:hover>.nav-flyout,.nav-item:focus-within>.nav-flyout{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}.nav-flyout button{display:block!important;width:100%;min-width:0!important;padding:9px 12px!important;border:0!important;border-radius:7px!important;background:transparent!important;color:var(--text-dim)!important;text-align:left!important;font-family:'Noto Sans JP',sans-serif!important;font-size:11px!important;white-space:nowrap;box-shadow:none!important}.nav-flyout button:hover{color:var(--text)!important;background:rgba(255,255,255,.055)!important}.nav-flyout button.active{color:var(--green)!important;background:rgba(56,242,139,.09)!important}.nav-flyout button:first-child{border-bottom:1px solid rgba(255,255,255,.06)!important;margin-bottom:2px}
.dash-view-intro{grid-column:span 12;padding:8px 2px 2px}.dash-view-intro h2{font-size:clamp(24px,3vw,36px);color:#f4fbf7;letter-spacing:-.03em}.dash-view-intro p{font-size:12px;color:var(--text-dim);margin-top:6px}.ui-section-hidden{display:none!important}.dash-grid>.panel:first-of-type{border-color:rgba(56,242,139,.25)!important;background:radial-gradient(700px 260px at 8% 0%,rgba(56,242,139,.13),transparent 65%),linear-gradient(145deg,rgba(18,31,26,.95),rgba(9,17,14,.9))}
.holo-layout{display:grid;grid-template-columns:minmax(440px,1.35fr) minmax(280px,.65fr);gap:22px;align-items:stretch}.holo-figure{min-width:0;display:flex;align-items:stretch}.body-scan-shell{position:relative;width:100%;min-height:430px;overflow:hidden;border:1px solid rgba(97,218,251,.2);border-radius:14px;background:#020908;box-shadow:inset 0 0 45px rgba(31,209,187,.08),0 18px 45px rgba(0,0,0,.28)}.body-scan-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.82) contrast(1.08) brightness(.68)}.body-scan-shell:before{content:'';position:absolute;z-index:2;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(2,9,8,.74),transparent 18% 82%,rgba(2,9,8,.72)),linear-gradient(180deg,rgba(2,9,8,.28),transparent 30% 72%,rgba(2,9,8,.72));box-shadow:inset 0 0 0 1px rgba(105,247,223,.06)}.body-scan-shell:after{content:'';position:absolute;z-index:3;left:8%;right:8%;height:72px;top:-80px;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(86,255,226,.06) 48%,rgba(120,255,235,.75) 50%,rgba(86,255,226,.08) 53%,transparent);filter:drop-shadow(0 0 9px rgba(86,255,226,.6));animation:bodyScanSweep 5.8s ease-in-out infinite}.body-scan-hud{position:absolute;z-index:5;left:18px;right:18px;top:15px;display:flex;justify-content:space-between;align-items:center;font-family:'Orbitron',monospace;font-size:8px;letter-spacing:.16em;color:rgba(197,255,240,.64);text-shadow:0 1px 5px #000}.body-scan-live{display:flex;align-items:center;gap:7px}.body-scan-live i{width:6px;height:6px;border-radius:50%;background:#38f28b;box-shadow:0 0 10px #38f28b;animation:bodyScanLive 1.7s ease-in-out infinite}.body-scan-index{position:absolute;z-index:5;left:18px;bottom:14px;font-family:'Orbitron',monospace;font-size:7px;letter-spacing:.14em;color:rgba(197,255,240,.48)}.body-scan-hotspot{position:absolute;z-index:4;width:13px;height:13px;margin:-6px 0 0 -6px;border:2px solid var(--hotspot);border-radius:50%;box-shadow:0 0 10px var(--hotspot),inset 0 0 7px var(--hotspot);opacity:var(--hotspot-opacity)}.body-scan-hotspot:after{content:'';position:absolute;inset:-8px;border:1px solid var(--hotspot);border-radius:50%;opacity:.44;animation:bodyScanPulse 2.4s ease-out infinite}.body-scan-hotspot.low:after{border-style:dashed;animation-duration:1.25s}.body-scan-hotspot.wood{left:52%;top:51%}.body-scan-hotspot.fire{left:50%;top:42%}.body-scan-hotspot.earth{left:51%;top:55%}.body-scan-hotspot.metal{left:48%;top:43%}.body-scan-hotspot.water{left:50%;top:58%}.holo-rows{min-width:0;display:flex;flex-direction:column;justify-content:center}@keyframes bodyScanSweep{0%{transform:translateY(0);opacity:0}10%{opacity:1}50%{transform:translateY(430px);opacity:1}60%,100%{transform:translateY(430px);opacity:0}}@keyframes bodyScanPulse{0%{transform:scale(.72);opacity:.7}80%,100%{transform:scale(1.65);opacity:0}}@keyframes bodyScanLive{50%{opacity:.28;transform:scale(.78)}}
.profile-hero{padding:28px!important;gap:30px!important;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.24)!important}.profile-hero:after{content:'';position:absolute;width:260px;height:260px;border-radius:50%;right:-90px;top:-130px;background:radial-gradient(circle,rgba(229,184,92,.12),transparent 68%);pointer-events:none}.profile-hero #qcalWrap{display:none}.profile-hero img{width:68px!important;height:82px!important;border-radius:11px!important;border-width:1px!important;box-shadow:0 10px 24px rgba(0,0,0,.3)!important}.profile-hero .hero-name{font-family:'Noto Sans JP',sans-serif!important;font-size:28px!important;letter-spacing:.08em;text-shadow:none!important;color:#f4f8f5!important}.profile-hero .hero-badge{font-family:'Noto Sans JP',sans-serif!important;letter-spacing:.02em!important;border-radius:999px!important;padding:6px 12px!important;background:rgba(255,255,255,.025);text-shadow:none!important}.dash-grid .panel [style*="text-shadow"]{text-shadow:none!important}.dash-grid .panel [style*="background:rgba(0,20,0"]{background:rgba(255,255,255,.025)!important}.dash-grid .panel [style*="border-radius:4px"]{border-radius:10px!important}.dash-grid svg{overflow:visible}.mini{border-radius:10px;background:rgba(255,255,255,.025)}
@media(min-width:821px){.nav-item:focus-within:not(:hover)>.nav-flyout{opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-7px)}}
@media(max-width:820px){header{padding:11px 14px}.logo-text p{display:none}.wrap{padding:14px 12px 84px}.input-shell{display:block;min-height:0}.input-intro{padding:28px 4px 20px}.input-intro h2{font-size:34px}.input-center{max-width:none}.grid-3{grid-template-columns:1fr 1fr 1fr}.dash-nav{top:67px;margin:0 -2px 12px}.dash-nav>.nav-item{min-width:78px}.dash-nav>.nav-item>.nav-main{padding:10px 8px}.nav-flyout{left:0;transform:translate(0,-7px);min-width:154px}.nav-item:hover>.nav-flyout,.nav-item:focus-within>.nav-flyout{transform:translate(0,0)}.dash-nav>.nav-item:nth-last-child(-n+2)>.nav-flyout{left:auto;right:0}.panel{padding:16px;border-radius:11px}.dash-grid{gap:10px}}
@media(max-width:760px){.profile-hero{padding:18px!important}.profile-hero>div:last-child{display:flex!important;justify-content:flex-start!important;flex-wrap:wrap}.profile-hero img{width:58px!important;height:70px!important}.holo-layout{grid-template-columns:1fr;gap:12px}.body-scan-shell{min-height:300px;aspect-ratio:16/9}.holo-rows{display:grid;grid-template-columns:1fr 1fr;gap:7px}.holo-rows>div{margin-bottom:0!important;padding:8px!important}.holo-rows>div:last-child{grid-column:span 2}}
.omikuji-stage{position:relative;min-height:410px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(229,184,92,.18);border-radius:16px;background:radial-gradient(circle at 50% 22%,rgba(229,184,92,.10),transparent 34%),linear-gradient(180deg,#0d1512,#070b0a)}.omikuji-stage:before{content:'';position:absolute;width:240px;height:240px;top:34px;border:1px solid rgba(229,184,92,.12);border-radius:50%;box-shadow:0 0 80px rgba(229,184,92,.06) inset}.omikuji-stars{position:absolute;inset:0;background-image:radial-gradient(circle,rgba(255,239,192,.7) 0 1px,transparent 1.5px);background-size:47px 43px;opacity:.16;mask-image:linear-gradient(#000,transparent 82%)}.omikuji-scene{position:relative;width:280px;height:330px;display:flex;align-items:flex-end;justify-content:center}.omikuji-box{position:absolute;left:79px;bottom:35px;width:122px;height:132px;border-radius:16px 16px 28px 28px;background:linear-gradient(145deg,#7f241f,#3b0f0d);border:1px solid rgba(255,190,130,.35);box-shadow:0 24px 50px rgba(0,0,0,.45),inset 0 0 0 7px rgba(20,5,3,.22)}.omikuji-box:before{content:'BIOT';position:absolute;inset:26px 20px auto;border:1px solid rgba(255,218,146,.38);padding:19px 0;text-align:center;color:#e6c47c;font-family:Orbitron,monospace;font-size:11px;letter-spacing:.24em}.omikuji-box:after{content:'';position:absolute;left:19px;right:19px;top:-10px;height:18px;border-radius:50%;background:#220807;border:1px solid rgba(255,190,130,.32)}.omikuji-sticks{position:absolute;left:88px;bottom:151px;width:104px;height:126px;transform-origin:50% 100%}.omikuji-stick{position:absolute;bottom:0;width:7px;height:118px;border-radius:4px;background:linear-gradient(90deg,#bb8a42,#f2cd80,#8b5f29);transform-origin:50% 100%;box-shadow:0 5px 12px rgba(0,0,0,.28)}.omikuji-stick:nth-child(1){left:13px;transform:rotate(-10deg)}.omikuji-stick:nth-child(2){left:29px;transform:rotate(-5deg)}.omikuji-stick:nth-child(3){left:47px;transform:rotate(1deg)}.omikuji-stick:nth-child(4){left:65px;transform:rotate(6deg)}.omikuji-stick:nth-child(5){left:82px;transform:rotate(11deg)}.omikuji-picked{position:absolute;left:136px;bottom:157px;width:9px;height:132px;border-radius:5px;background:linear-gradient(90deg,#c99444,#ffe09a,#9d692c);opacity:0;z-index:4}.omikuji-slip{position:absolute;left:40px;top:24px;width:200px;min-height:278px;padding:24px 22px 20px;background:linear-gradient(100deg,#efe6d3,#fffaf0 50%,#e9deca);color:#221b14;border:1px solid #d6c2a0;border-radius:3px;box-shadow:0 28px 70px rgba(0,0,0,.5);opacity:0;transform:rotateY(90deg);transform-style:preserve-3d;z-index:7}.omikuji-slip:before,.omikuji-slip:after{content:'';position:absolute;left:11px;right:11px;height:2px;background:#9c251f}.omikuji-slip:before{top:11px}.omikuji-slip:after{bottom:11px}.omikuji-rank{font-family:serif;font-size:34px;font-weight:700;letter-spacing:.2em;text-align:center;color:#97251f;margin-left:.2em}.omikuji-code{text-align:center;font-family:Orbitron,monospace;font-size:7px;letter-spacing:.18em;color:#8b7760;margin:8px 0 16px}.omikuji-message{font-size:13px;line-height:1.85;text-align:center}.omikuji-action{margin-top:14px;padding-top:12px;border-top:1px solid #d8c9ae;font-size:11px;line-height:1.7;color:#6b5844}.omikuji-draw{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:9;border:1px solid #e5b85c;border-radius:999px;background:rgba(20,14,7,.78);color:#f4d590;padding:11px 24px;font-size:12px;letter-spacing:.08em;cursor:pointer;backdrop-filter:blur(10px)}.omikuji-draw:hover{background:#e5b85c;color:#201406}.omikuji-draw:disabled{opacity:.45;cursor:wait}.omikuji-source{position:absolute;right:13px;top:11px;font-family:Orbitron,monospace;font-size:6px;letter-spacing:.12em;color:rgba(229,184,92,.38)}
.profile-hero{display:grid!important;grid-template-columns:minmax(380px,1fr) 248px minmax(270px,max-content);align-items:center!important}.omikuji-hero-stage{width:238px;min-height:286px;justify-self:center;background:radial-gradient(circle at 50% 18%,rgba(229,184,92,.10),transparent 42%),rgba(5,12,9,.46)}.omikuji-hero-stage:before{width:170px;height:170px;top:25px}.omikuji-hero-stage .omikuji-scene{position:absolute;left:50%;bottom:-24px;transform:translateX(-50%) scale(.66);transform-origin:50% 100%}.omikuji-hero-stage .omikuji-draw{bottom:10px;padding:9px 18px;font-size:10px}.omikuji-hero-title{position:absolute;left:14px;top:11px;font-family:Orbitron,monospace;font-size:7px;letter-spacing:.14em;color:rgba(244,213,144,.58);z-index:8}
.omikuji-hero-stage{border-color:rgba(56,242,139,.17);background:radial-gradient(circle at 50% 18%,rgba(56,242,139,.10),transparent 42%),linear-gradient(160deg,rgba(12,29,22,.82),rgba(5,11,9,.72));box-shadow:inset 0 0 55px rgba(56,242,139,.035),0 18px 45px rgba(0,0,0,.2)}.omikuji-hero-stage:before{border-color:rgba(56,242,139,.13);box-shadow:0 0 70px rgba(56,242,139,.055) inset}.omikuji-hero-stage .omikuji-stars{opacity:.11;filter:hue-rotate(68deg)}.omikuji-hero-stage .omikuji-box{background:linear-gradient(145deg,#173d2d,#071711);border-color:rgba(229,184,92,.36);box-shadow:0 24px 50px rgba(0,0,0,.48),inset 0 0 0 7px rgba(2,16,10,.34)}.omikuji-hero-stage .omikuji-box:after{background:#04100b;border-color:rgba(56,242,139,.28)}.omikuji-hero-stage .omikuji-box:before{color:#f0d18c;border-color:rgba(56,242,139,.26);text-shadow:0 0 14px rgba(56,242,139,.28)}.omikuji-hero-stage .omikuji-slip{background:linear-gradient(102deg,#e9e0cd,#fffaf0 48%,#e6dcc8);border-color:#d0bd9b}.omikuji-hero-stage .omikuji-slip:before,.omikuji-hero-stage .omikuji-slip:after{background:#237250}.omikuji-hero-stage .omikuji-rank{color:#195e43}.omikuji-hero-stage .omikuji-draw{border-color:rgba(56,242,139,.5);background:rgba(5,24,16,.88);color:#8fffc0}.omikuji-hero-stage .omikuji-draw:hover{background:#38f28b;color:#04130b}.omikuji-hero-title{color:rgba(143,255,192,.58)}.omikuji-hero-stage .omikuji-source{color:rgba(229,184,92,.48)}.omikuji-hero-stage.revealed .omikuji-draw{left:auto;right:9px;top:9px;bottom:auto;transform:none;padding:5px 9px;font-size:8px;background:rgba(5,24,16,.75);opacity:.82}.omikuji-hero-stage.revealed .omikuji-hero-title{opacity:.28}
.omikuji-rive-wrap{position:absolute;z-index:3;left:50%;top:13px;width:260px;height:246px;transform:translateX(-50%);overflow:hidden;opacity:0;transition:opacity .45s ease,filter .45s ease;filter:sepia(.25) hue-rotate(75deg) saturate(1.2) drop-shadow(0 0 18px rgba(56,242,139,.16));pointer-events:auto}.omikuji-rive-wrap:after{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 43%,transparent 30%,rgba(4,15,10,.08) 52%,rgba(4,15,10,.72) 82%)}.omikuji-rive-canvas{display:block;width:100%;height:330px;transform:translateY(-21px);cursor:pointer}.omikuji-hero-stage.rive-ready .omikuji-rive-wrap{opacity:1}.omikuji-hero-stage.rive-ready .omikuji-box,.omikuji-hero-stage.rive-ready .omikuji-sticks,.omikuji-hero-stage.rive-ready .omikuji-picked{opacity:0!important;pointer-events:none}.omikuji-hero-stage.rive-ready.revealed .omikuji-rive-wrap{opacity:.13;filter:blur(2px) sepia(.3) hue-rotate(75deg)}.omikuji-rive-hint{position:absolute;z-index:5;left:50%;bottom:48px;transform:translateX(-50%);width:max-content;font-family:Orbitron,monospace;font-size:6px;letter-spacing:.12em;color:rgba(143,255,192,.48);opacity:0;transition:opacity .3s}.rive-ready .omikuji-rive-hint{opacity:1}.revealed .omikuji-rive-hint{opacity:0}.omikuji-rive-credit{position:absolute;z-index:8;left:10px;bottom:7px;color:rgba(255,255,255,.24);font-size:6px;letter-spacing:.05em;text-decoration:none}.omikuji-rive-credit:hover{color:rgba(143,255,192,.72)}
.temple-omikuji{isolation:isolate;border-color:rgba(210,160,70,.38)!important;background:#090705!important;box-shadow:inset 0 0 70px rgba(0,0,0,.45),0 18px 45px rgba(0,0,0,.28)!important}.temple-omikuji:before{display:none}.omikuji-temple-bg{position:absolute;z-index:0;inset:0;background:linear-gradient(180deg,rgba(2,4,3,.10),rgba(4,6,4,.32) 56%,rgba(2,3,2,.78)),url('/assets/temple-omikuji.webp') center/cover no-repeat;filter:saturate(.82) contrast(1.07);transform:scale(1.02)}.omikuji-temple-vignette{position:absolute;z-index:1;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 52%,rgba(237,174,75,.18),transparent 28%),linear-gradient(90deg,rgba(0,0,0,.28),transparent 24% 76%,rgba(0,0,0,.28));box-shadow:inset 0 0 50px rgba(0,0,0,.56)}.temple-beam{position:absolute;z-index:2;left:50%;top:45px;width:88px;height:176px;transform:translateX(-50%);background:linear-gradient(180deg,rgba(255,206,111,.12),rgba(255,187,73,.015));clip-path:polygon(31% 0,69% 0,100% 100%,0 100%);filter:blur(4px);pointer-events:none}.temple-altar{position:absolute;z-index:3;left:26px;right:26px;bottom:45px;height:18px;border:1px solid rgba(209,153,68,.35);border-radius:2px;background:linear-gradient(#3b2012,#140b07 60%,#080503);box-shadow:0 10px 18px rgba(0,0,0,.58),inset 0 2px rgba(255,207,117,.13)}.temple-seal{position:absolute;z-index:4;left:50%;top:44px;transform:translateX(-50%);width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(224,176,88,.55);border-radius:50%;color:#e8bd6a;font-family:serif;font-size:20px;text-shadow:0 0 12px rgba(255,190,73,.52);box-shadow:0 0 0 4px rgba(126,38,22,.18),0 0 24px rgba(221,165,68,.18);opacity:.72}.temple-smoke{position:absolute;z-index:5;left:50%;bottom:69px;width:9px;height:70px;pointer-events:none;opacity:.52}.temple-smoke i{position:absolute;bottom:0;width:7px;height:42px;border-left:2px solid rgba(220,227,214,.28);border-radius:50%;filter:blur(1px);animation:templeSmoke 3.5s ease-in-out infinite}.temple-smoke i:nth-child(2){left:6px;height:54px;animation-delay:-1.4s;opacity:.6}.temple-smoke i:nth-child(3){left:-6px;height:46px;animation-delay:-2.5s;opacity:.42}@keyframes templeSmoke{0%{transform:translate(0,12px) scale(.75);opacity:0}28%{opacity:.72}100%{transform:translate(10px,-34px) scale(1.5);opacity:0}}.temple-omikuji .omikuji-stars,.temple-omikuji .omikuji-rive-wrap,.temple-omikuji .omikuji-rive-hint{display:none!important}.temple-omikuji .omikuji-scene{z-index:6;bottom:-25px}.temple-omikuji .omikuji-box{left:92px;bottom:43px;width:96px;height:122px;border-radius:12px 12px 23px 23px;background:linear-gradient(90deg,#48120d,#9e3022 36%,#651911 75%,#2a0b08);border:1px solid rgba(246,197,102,.68);box-shadow:0 19px 30px rgba(0,0,0,.6),inset 0 0 0 5px rgba(37,4,2,.32),inset 12px 0 20px rgba(255,126,70,.08)}.temple-omikuji .omikuji-box:before{content:'御籤';inset:27px 18px auto;padding:17px 0;border-color:rgba(243,197,102,.55);color:#f1cf88;font-family:serif;font-size:17px;letter-spacing:.2em;text-shadow:0 0 12px rgba(255,192,73,.4)}.temple-omikuji .omikuji-box:after{left:12px;right:12px;top:-9px;background:radial-gradient(ellipse,#070403 25%,#35100b 29%,#8b291d 66%,#3b0d09);border-color:rgba(245,195,98,.65);box-shadow:0 2px 7px rgba(0,0,0,.7)}.temple-omikuji .omikuji-sticks{left:101px;bottom:155px;width:78px;height:118px}.temple-omikuji .omikuji-stick{height:110px;background:linear-gradient(90deg,#8d612b,#edc26d 44%,#8d5b26);box-shadow:0 0 5px rgba(255,198,91,.22)}.temple-omikuji .omikuji-stick:nth-child(1){left:7px}.temple-omikuji .omikuji-stick:nth-child(2){left:22px}.temple-omikuji .omikuji-stick:nth-child(3){left:37px}.temple-omikuji .omikuji-stick:nth-child(4){left:52px}.temple-omikuji .omikuji-stick:nth-child(5){left:67px}.temple-omikuji .omikuji-picked{left:136px;bottom:157px;background:linear-gradient(90deg,#946328,#ffe09a,#8a5721);box-shadow:0 0 12px rgba(255,195,83,.4)}.temple-omikuji .omikuji-draw{border-color:rgba(230,184,93,.65);background:linear-gradient(180deg,rgba(88,24,16,.94),rgba(42,11,8,.96));color:#f1cf88;box-shadow:0 8px 24px rgba(0,0,0,.36),inset 0 1px rgba(255,219,148,.15)}.temple-omikuji .omikuji-draw:hover{background:#b43a28;color:#fff2cf}.temple-omikuji .omikuji-hero-title{color:rgba(243,207,136,.72);text-shadow:0 1px 8px #000}.temple-omikuji .omikuji-source{color:rgba(243,207,136,.6);text-shadow:0 1px 7px #000}.temple-omikuji.drawing .omikuji-temple-vignette{animation:templePulse .55s ease-in-out 2}.temple-omikuji.drawing .temple-beam{animation:templeBeam 1.5s ease-out forwards}.temple-omikuji.drawing .temple-smoke{filter:drop-shadow(0 0 8px rgba(255,198,101,.5))}@keyframes templePulse{50%{background:radial-gradient(circle at 50% 52%,rgba(255,203,103,.35),transparent 36%),linear-gradient(90deg,rgba(0,0,0,.2),transparent 24% 76%,rgba(0,0,0,.2))}}@keyframes templeBeam{0%{opacity:.2;transform:translateX(-50%) scaleX(.55)}55%{opacity:1;transform:translateX(-50%) scaleX(1.2)}100%{opacity:.38;transform:translateX(-50%) scaleX(.8)}}.temple-omikuji.revealed .temple-seal,.temple-omikuji.revealed .temple-smoke{opacity:.12}.temple-omikuji.revealed .omikuji-slip{box-shadow:0 20px 60px rgba(0,0,0,.72),0 0 28px rgba(238,189,91,.18)}
.temple-omikuji .omikuji-box{left:84px;bottom:39px;width:112px;height:139px;border:0;border-radius:0;background:none;box-shadow:none;filter:drop-shadow(0 18px 15px rgba(0,0,0,.72))}.temple-omikuji .omikuji-box:before,.temple-omikuji .omikuji-box:after{display:none}.box-body{position:absolute;inset:5px 3px 4px;overflow:hidden;clip-path:polygon(16% 0,84% 0,98% 9%,94% 91%,80% 100%,20% 100%,6% 91%,2% 9%);background:linear-gradient(90deg,#2a0907 0 10%,#56120d 10% 25%,#9b3022 25% 46%,#be4931 46% 56%,#7f2118 56% 76%,#49100c 76% 90%,#250706 90%);box-shadow:inset 0 0 0 1px rgba(255,207,111,.42),inset 13px 0 18px rgba(255,126,64,.09),inset -15px 0 20px rgba(0,0,0,.4)}.box-body:before{content:'';position:absolute;inset:0;opacity:.24;background:repeating-linear-gradient(4deg,transparent 0 8px,rgba(255,213,148,.16) 9px,transparent 10px 17px),linear-gradient(90deg,transparent 42%,rgba(255,255,255,.14) 50%,transparent 58%)}.box-mouth{position:absolute;z-index:5;left:7px;right:7px;top:-8px;height:25px;border:2px solid #c89543;border-radius:50%;background:radial-gradient(ellipse at center,#050302 0 42%,#32100c 45% 55%,#a43a27 58% 72%,#54130e 76%);box-shadow:0 3px 7px rgba(0,0,0,.75),inset 0 2px rgba(255,225,156,.3)}.box-neck{position:absolute;z-index:3;left:12px;right:12px;top:9px;height:19px;border:1px solid rgba(233,188,96,.65);border-radius:1px 1px 7px 7px;background:linear-gradient(90deg,#4a100b,#a43224 45%,#57120e);box-shadow:inset 0 -5px 8px rgba(0,0,0,.35)}.box-band{position:absolute;z-index:4;left:7px;right:7px;height:8px;border:1px solid #a97932;background:linear-gradient(#e0b25b,#866022 46%,#d4a74e 58%,#694817);box-shadow:0 2px 5px rgba(0,0,0,.4)}.box-band.top{top:24px}.box-band.bottom{bottom:16px}.box-plaque{position:absolute;z-index:5;left:50%;top:39px;width:42px;height:70px;transform:translateX(-50%);display:grid;place-items:center;border:1px solid #c99843;border-radius:21px 21px 8px 8px;background:linear-gradient(150deg,rgba(32,9,6,.95),rgba(92,25,16,.94));color:#f3d28e;font-family:serif;font-size:14px;font-weight:700;letter-spacing:.12em;writing-mode:vertical-rl;text-shadow:0 0 8px rgba(255,197,81,.38);box-shadow:inset 0 0 0 3px rgba(216,158,64,.12),0 4px 9px rgba(0,0,0,.45)}.box-plaque:before{content:'福';position:absolute;top:-15px;width:22px;height:22px;display:grid;place-items:center;border:1px solid #c7943e;border-radius:50%;background:#5d170f;color:#e6bb66;font-size:10px;writing-mode:horizontal-tb}.box-foot{position:absolute;z-index:6;left:13px;right:13px;bottom:0;height:19px;border:1px solid #b27d32;border-radius:4px 4px 13px 13px;background:linear-gradient(90deg,#3a0c08,#8c271a 45%,#40100b);box-shadow:0 4px 7px rgba(0,0,0,.54),inset 0 2px rgba(255,195,95,.18)}.box-rivet{position:absolute;z-index:7;width:4px;height:4px;border-radius:50%;background:#ddb45f;box-shadow:0 1px 2px #301006}.box-rivet.r1{left:13px;top:41px}.box-rivet.r2{right:13px;top:41px}.box-rivet.r3{left:15px;bottom:29px}.box-rivet.r4{right:15px;bottom:29px}.temple-omikuji .omikuji-sticks{left:96px;bottom:165px;width:88px;height:119px}.temple-omikuji .omikuji-stick{width:6px;height:114px;border:1px solid rgba(82,45,13,.35);background:linear-gradient(90deg,#85561f,#f0c46e 38%,#aa762e 70%,#654017);box-shadow:0 2px 4px rgba(0,0,0,.5),0 0 7px rgba(255,195,84,.12)}.temple-omikuji .omikuji-stick:nth-child(1){left:4px;transform:rotate(-13deg)}.temple-omikuji .omikuji-stick:nth-child(2){left:17px;transform:rotate(-8deg)}.temple-omikuji .omikuji-stick:nth-child(3){left:30px;transform:rotate(-3deg)}.temple-omikuji .omikuji-stick:nth-child(4){left:43px;transform:rotate(2deg)}.temple-omikuji .omikuji-stick:nth-child(5){left:56px;transform:rotate(7deg)}.temple-omikuji .omikuji-stick:nth-child(6){left:69px;transform:rotate(12deg)}.temple-omikuji .omikuji-stick:nth-child(7){left:81px;transform:rotate(16deg)}.temple-omikuji .omikuji-picked{left:136px;bottom:169px}.temple-omikuji.drawing .box-body:after{content:'';position:absolute;top:-40%;left:-35%;width:28%;height:180%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,224,155,.48),transparent);animation:boxShine 1.2s ease-out forwards}@keyframes boxShine{to{left:125%}}
.temple-omikuji .omikuji-scene{bottom:-22px;transform:translateX(-50%) scale(.76)}.temple-omikuji .omikuji-box{left:76px;bottom:88px;width:128px;height:152px}.temple-omikuji .box-plaque{top:42px;width:46px;height:80px;font-size:15px}.temple-omikuji .box-band.bottom{bottom:18px}.temple-omikuji .omikuji-sticks{left:92px;bottom:232px;width:96px;height:120px}.temple-omikuji .omikuji-stick:nth-child(1){left:2px}.temple-omikuji .omikuji-stick:nth-child(2){left:16px}.temple-omikuji .omikuji-stick:nth-child(3){left:31px}.temple-omikuji .omikuji-stick:nth-child(4){left:46px}.temple-omikuji .omikuji-stick:nth-child(5){left:61px}.temple-omikuji .omikuji-stick:nth-child(6){left:76px}.temple-omikuji .omikuji-stick:nth-child(7){left:90px}.temple-omikuji .omikuji-picked{left:136px;bottom:236px}.temple-omikuji .omikuji-draw{bottom:8px;padding:8px 13px;font-size:9px;white-space:nowrap}
.temple-omikuji .box-body{background:linear-gradient(90deg,#795839 0 9%,#b79062 9% 24%,#d7b985 24% 47%,#efd7a3 47% 56%,#c4a06f 56% 77%,#987047 77% 91%,#62452f 91%);box-shadow:inset 0 0 0 1px rgba(255,241,197,.48),inset 14px 0 20px rgba(255,235,181,.14),inset -15px 0 21px rgba(55,31,17,.34)}.temple-omikuji .box-body:before{opacity:.36;background:repeating-linear-gradient(3deg,transparent 0 9px,rgba(92,57,27,.20) 10px,rgba(255,240,195,.12) 11px,transparent 12px 20px),linear-gradient(90deg,transparent 42%,rgba(255,255,235,.22) 50%,transparent 58%)}.temple-omikuji .box-mouth{border-color:#b24b32;background:radial-gradient(ellipse at center,#070403 0 43%,#4c2418 46% 55%,#c64a31 58% 72%,#782718 76%);box-shadow:0 3px 8px rgba(0,0,0,.72),inset 0 2px rgba(255,218,167,.34)}.temple-omikuji .box-neck{border-color:#7b2118;background:linear-gradient(90deg,#711b13,#c74630 45%,#7a2118);box-shadow:inset 0 -5px 8px rgba(38,5,2,.34)}.temple-omikuji .box-band{border-color:#7b2118;background:linear-gradient(#cf5137,#7f2118 48%,#b83d2b 55%,#671a13);box-shadow:0 2px 5px rgba(0,0,0,.38),inset 0 1px rgba(255,198,160,.28)}.temple-omikuji .box-plaque{top:40px;width:43px;height:84px;border-color:rgba(88,60,35,.35);border-radius:2px;background:linear-gradient(96deg,#ded2b7,#fff9e8 48%,#e4d8bd);color:#211a13;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:15px;letter-spacing:.14em;text-shadow:none;box-shadow:0 3px 7px rgba(61,35,18,.38),inset 0 0 0 2px rgba(110,80,47,.09)}.temple-omikuji .box-plaque:before{content:'祈';top:auto;right:-8px;bottom:6px;width:18px;height:18px;border-color:#9f261c;background:#b43627;color:#f9e5c1;font-size:9px;box-shadow:0 1px 3px rgba(0,0,0,.25)}.temple-omikuji .box-foot{border-color:#6f1c15;background:linear-gradient(90deg,#6c1c14,#bd3e2c 46%,#6b1d15);box-shadow:0 4px 7px rgba(0,0,0,.5),inset 0 2px rgba(255,191,151,.2)}.temple-omikuji .box-rivet{background:#402117;box-shadow:0 1px 1px rgba(255,239,202,.25)}.temple-omikuji .omikuji-stick{background:linear-gradient(90deg,#927041,#f2d493 38%,#c49a5e 70%,#76552f);border-color:rgba(77,47,20,.4)}.temple-omikuji .omikuji-stick:after{content:'';position:absolute;left:-1px;right:-1px;top:5px;height:11px;border-radius:2px 2px 0 0;background:linear-gradient(90deg,#7c1c15,#d64b36,#7e2118);box-shadow:0 1px 2px rgba(0,0,0,.28)}.temple-omikuji .omikuji-picked{background:linear-gradient(90deg,#8e6938,#ffe4a2,#8c6637);border-top:13px solid #b83c2b}.temple-omikuji .omikuji-draw{border-color:rgba(205,91,62,.72);background:linear-gradient(180deg,rgba(168,54,38,.95),rgba(91,24,18,.97));color:#fff0d5}.temple-omikuji .omikuji-draw:hover{background:#d35039;color:#fffaf0}
.temple-omikuji .omikuji-stick{width:10px;height:118px;border-radius:2px 2px 4px 4px;background:linear-gradient(90deg,#74512b 0 10%,#c79b5b 18%,#f4d797 44%,#bd8d4e 72%,#664421 100%);box-shadow:0 3px 5px rgba(0,0,0,.55),inset 1px 0 rgba(255,244,203,.42)}.temple-omikuji .omikuji-stick:after{top:3px;height:14px;border-radius:2px 2px 1px 1px}.temple-omikuji .omikuji-stick:before{position:absolute;top:19px;left:1px;right:1px;color:#352114;font-family:'Yu Mincho',serif;font-size:7px;line-height:1;text-align:center;text-shadow:0 1px rgba(255,255,255,.18)}.temple-omikuji .omikuji-stick:nth-child(1):before{content:'壱'}.temple-omikuji .omikuji-stick:nth-child(2):before{content:'弐'}.temple-omikuji .omikuji-stick:nth-child(3):before{content:'参'}.temple-omikuji .omikuji-stick:nth-child(4):before{content:'四'}.temple-omikuji .omikuji-stick:nth-child(5):before{content:'五'}.temple-omikuji .omikuji-stick:nth-child(6):before{content:'六'}.temple-omikuji .omikuji-stick:nth-child(7):before{content:'七'}.temple-omikuji .omikuji-stick:nth-child(1){left:0}.temple-omikuji .omikuji-stick:nth-child(2){left:14px}.temple-omikuji .omikuji-stick:nth-child(3){left:28px}.temple-omikuji .omikuji-stick:nth-child(4){left:42px}.temple-omikuji .omikuji-stick:nth-child(5){left:56px}.temple-omikuji .omikuji-stick:nth-child(6){left:70px}.temple-omikuji .omikuji-stick:nth-child(7){left:84px}.temple-omikuji .omikuji-sticks{bottom:215px}.temple-omikuji .omikuji-picked{left:134px;bottom:218px;width:12px;height:140px;border-top-width:15px;border-radius:3px;box-shadow:0 0 15px rgba(255,195,83,.42),0 5px 8px rgba(0,0,0,.4)}.temple-omikuji .omikuji-picked:after{content:'一番';position:absolute;top:4px;left:1px;right:1px;color:#3c2615;font-family:'Yu Mincho',serif;font-size:6px;line-height:1.2;writing-mode:vertical-rl;text-align:center}.temple-omikuji .omikuji-slip{left:23px;top:8px;width:234px;min-height:304px;padding:27px 25px 22px}.temple-omikuji .omikuji-rank{font-size:42px;line-height:1.1;margin-bottom:2px}.temple-omikuji .omikuji-code{font-size:8px;margin:9px 0 17px;letter-spacing:.14em}.temple-omikuji .omikuji-message{font-size:15px;line-height:1.9;font-weight:500}.temple-omikuji .omikuji-action{margin-top:15px;padding-top:13px;font-size:12.5px;line-height:1.8}.temple-omikuji .omikuji-slip:before,.temple-omikuji .omikuji-slip:after{left:12px;right:12px;height:3px}
.profile-hero:has(.temple-omikuji.revealed){overflow:visible!important}.temple-omikuji.revealed{z-index:1000;overflow:visible}.temple-omikuji.revealed:after{content:'';display:block;position:fixed;z-index:1000;inset:0;background:rgba(1,5,3,.78);backdrop-filter:blur(8px);animation:omikujiBackdrop .35s ease-out both}.temple-omikuji.revealed .omikuji-scene{position:fixed;z-index:1002;left:50%;top:calc(50% + 120px);bottom:auto;transform:translate(-50%,-50%) scale(1.52);filter:drop-shadow(0 28px 55px rgba(0,0,0,.72))}.temple-omikuji.revealed .omikuji-draw{position:fixed;z-index:1004;left:auto;right:calc(50% - 174px);top:calc(50% - 190px);bottom:auto;transform:none;padding:7px 12px;font-size:9px;background:rgba(116,31,23,.94);opacity:1}.temple-omikuji.revealed .omikuji-rive-credit{display:none}@keyframes omikujiBackdrop{from{opacity:0}to{opacity:1}}@media(max-width:360px){.temple-omikuji.revealed .omikuji-scene{top:calc(50% + 88px);transform:translate(-50%,-50%) scale(1.32)}.temple-omikuji.revealed .omikuji-draw{right:11px;top:calc(50% - 171px)}}
.omikuji-guardian-bg{position:absolute!important;z-index:.5;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover;object-position:center 12%;transform:scale(1.12);transform-origin:center 20%;opacity:.94;filter:saturate(.96) contrast(1.08) brightness(.76);pointer-events:none}.temple-omikuji .omikuji-temple-bg{opacity:.28;filter:saturate(.42) contrast(1.08) brightness(.38)}.temple-omikuji .omikuji-temple-vignette{background:linear-gradient(180deg,rgba(0,0,0,.18),rgba(2,6,4,.2) 43%,rgba(1,4,3,.76) 100%),radial-gradient(circle at 50% 52%,transparent 10%,rgba(0,0,0,.18) 78%)}.omikuji-guardian-name{position:absolute;z-index:9;left:21px;right:21px;top:25px;overflow:hidden;padding:4px 7px;border:1px solid rgba(231,189,104,.42);border-radius:999px;background:rgba(10,6,3,.7);color:#ffe1a0;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:9px;font-weight:700;letter-spacing:.06em;text-align:center;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 7px #000,0 0 8px #000;box-shadow:0 4px 12px rgba(0,0,0,.3)}.temple-omikuji.revealed .omikuji-guardian-bg{opacity:.12}
.omikuji-close{display:none;position:absolute;border:1px solid rgba(110,77,43,.45);border-radius:50%;background:#fff8e8;color:#2b2117;width:32px;height:32px;place-items:center;font-size:22px;line-height:1;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.4)}.temple-omikuji.revealed .omikuji-close{display:grid;position:fixed;z-index:1005;left:calc(50% - 181px);top:78px}.temple-omikuji.revealed .omikuji-close:hover{background:#b83c2b;color:#fff;border-color:#d9654d}@media(max-width:360px){.temple-omikuji.revealed .omikuji-close{left:9px;top:82px}}
@media(max-width:1050px){.profile-hero{grid-template-columns:minmax(360px,1fr) minmax(250px,max-content)}.omikuji-hero-stage{grid-column:1/-1;grid-row:2;width:min(100%,520px);min-height:270px}.omikuji-hero-stage .omikuji-scene{bottom:-34px}}
@media(max-width:620px){.profile-hero{grid-template-columns:1fr!important}.omikuji-hero-stage{grid-column:auto;grid-row:auto;width:100%}}
/* パワー */
.power-num{font-family:'Orbitron',monospace;font-size:clamp(44px,7vw,68px);font-weight:900;line-height:1;color:var(--orange);text-shadow:0 0 20px var(--orange);}
.power-max{font-size:20px;color:rgba(255,136,0,0.5);}
.power-sub{font-size:12px;color:var(--text-dim);margin-top:6px;}
.bar-bg{width:100%;height:8px;background:rgba(255,136,0,0.12);border-radius:4px;margin:12px 0;overflow:hidden;}
.bar-fill{height:100%;background:linear-gradient(90deg,var(--orange),var(--green));border-radius:4px;}
.hero-name{font-family:'Orbitron',monospace;font-size:20px;font-weight:900;color:var(--green);text-shadow:0 0 12px rgba(0,255,65,0.4);}
.hero-badge{display:inline-block;border:1px solid rgba(0,255,255,0.4);padding:4px 14px;font-family:'Orbitron',monospace;font-size:10px;color:var(--cyan);letter-spacing:0.1em;margin-top:6px;}
/* 行動リスト */
.act-row{display:flex;gap:9px;align-items:flex-start;margin-bottom:10px;font-size:13px;line-height:1.6;color:rgba(200,255,200,0.85);}
.act-ico{flex-shrink:0;font-size:15px;margin-top:1px;}
/* 小カード(色・香り・体調) */
.mini{background:rgba(0,15,0,0.5);border:1px solid rgba(0,255,65,0.12);border-radius:4px;padding:12px;}
.mini-label{font-family:'Orbitron',monospace;font-size:8px;letter-spacing:0.2em;color:var(--text-dim);margin-bottom:8px;}
.mini-val{font-size:13px;color:rgba(200,255,200,0.85);line-height:1.6;}
.color-dot{width:20px;height:20px;border-radius:50%;display:inline-block;margin-right:5px;vertical-align:middle;border:1px solid rgba(255,255,255,0.2);}
/* 笑顔パネル */
.cheer{background:rgba(0,255,255,0.05);border:1px solid rgba(0,255,255,0.3);border-radius:4px;padding:18px;text-align:center;}
.cheer-main{font-size:17px;font-weight:700;color:var(--cyan);text-shadow:0 0 10px rgba(0,255,255,0.4);}
.cheer-sub{font-size:12px;color:var(--text-dim);margin-top:8px;line-height:1.7;}
/* 今日vs明日 */
.vs{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;text-align:center;}
.vs-day{font-size:11px;color:var(--text-dim);}
.cal-dual,.hero-date-dual{display:flex;flex-direction:column;gap:2px;line-height:1.45}
.cal-lead{font-size:11px;color:var(--text-dim);letter-spacing:.04em}
.cal-solar{color:var(--text)}
.cal-lunar{font-size:12px;color:var(--text-dim)}
.cal-jieqi{display:inline-block;margin-left:6px;padding:1px 7px;border:1px solid rgba(229,184,92,.42);border-radius:999px;color:#e8cf95;font-size:10px;letter-spacing:.04em}
.cal-hint{margin:2px 0 12px;padding:8px 12px;border:1px solid var(--border);border-radius:9px;background:rgba(56,242,139,.05);font-size:12px;color:var(--text-dim);line-height:1.65}
.cal-hint b{color:var(--green);font-weight:700}
.cal-cell-lunar{font-size:9px;color:rgba(198,220,208,.62);letter-spacing:.02em;margin:1px 0;line-height:1.2}
.cal-cell-lunar.is-tsuitachi,.cal-cell-lunar.is-mochizuki{color:var(--green)}
.cal-cell-lunar.is-setu{color:#e8cf95}
.vs .cal-dual{align-items:center}
.vs .cal-solar{font-size:13px}
.vs .cal-lunar{font-size:11px}
.vs-num{font-family:'Orbitron',monospace;font-size:26px;font-weight:900;color:var(--green);}
.vs-mood{font-size:11px;color:var(--cyan);}
.vs-mid{color:var(--text-dim);font-size:11px;}
/* 命式 */
.meishiki-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;}
.mcard{border:1px solid rgba(0,255,65,0.2);padding:10px;text-align:center;background:rgba(0,20,0,0.4);}
.mcard-l{font-family:'Orbitron',monospace;font-size:8px;color:var(--text-dim);letter-spacing:0.15em;}
.mcard-gz{font-size:24px;font-weight:700;color:var(--green);margin:4px 0;}
.mcard-j{font-family:'Orbitron',monospace;font-size:9px;color:var(--cyan);}
.mcard-d{font-size:9px;color:var(--text-dim);margin-top:5px;line-height:1.4;}
.note{font-size:11px;color:var(--text-dim);margin-top:10px;line-height:1.6;}
.chart-notes{margin-top:10px;padding:8px 10px;border-left:2px solid rgba(255,255,255,.14);}
.chart-notes-h{font-size:12px;font-weight:700;color:var(--text-dim);}
.chart-notes .note{margin-top:6px;}
.reading{font-size:13px;line-height:2;color:rgba(200,255,200,0.85);}
.disc{font-size:11px;color:var(--text-dim);border:1px dashed rgba(0,255,65,0.2);padding:11px;line-height:1.7;}
svg text{font-family:'Orbitron',monospace;}
.hidden{display:none;}
/* Omikuji component overrides: keep generic profile-card image rules out of the shrine scene. */
.profile-hero img.omikuji-guardian-bg{position:absolute!important;z-index:.5;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;border:0!important;border-radius:0!important;box-shadow:none!important;object-fit:cover!important;object-position:center 12%!important;transform:scale(1.12)!important;transform-origin:center 20%;}
.omikuji-vessel{position:absolute;inset:0;z-index:5;transform-origin:50% 72%}
.temple-omikuji .omikuji-sticks{bottom:194px!important}
.temple-omikuji .omikuji-picked{bottom:205px!important}
.temple-omikuji.drawing .omikuji-draw:disabled{opacity:1;color:#ffe3a6;border-color:rgba(255,211,126,.82);animation:omikujiButtonBreath .72s ease-in-out infinite alternate}
.temple-omikuji.drawing .omikuji-stick:nth-child(odd){animation:omikujiStickBounce .18s ease-in-out 6 alternate}
.temple-omikuji.drawing .omikuji-stick:nth-child(even){animation:omikujiStickBounce .2s .05s ease-in-out 6 alternate-reverse}
.temple-omikuji .omikuji-picked{width:16px!important;border-left:1px solid rgba(73,42,18,.55);border-right:1px solid rgba(73,42,18,.55);background:linear-gradient(90deg,#765027 0 10%,#c79955 20%,#f1ce83 48%,#ac7738 78%,#65411f 100%)!important;box-shadow:0 0 7px rgba(255,195,83,.38),0 6px 9px rgba(0,0,0,.52)!important}
.temple-omikuji.drawing .omikuji-picked{filter:drop-shadow(0 0 4px rgba(255,215,127,.65))}
.temple-omikuji .omikuji-scene{transition:transform .3s ease,filter .3s ease}
.temple-omikuji.drawing .omikuji-scene{transform:translateX(-50%) scale(.84);filter:drop-shadow(0 15px 24px rgba(0,0,0,.45))}
.temple-omikuji.drawing .omikuji-source{z-index:11;left:50%;right:auto;top:auto;bottom:46px;transform:translateX(-50%);width:max-content;padding:4px 8px;border:1px solid rgba(237,194,111,.42);border-radius:999px;background:rgba(9,5,3,.72);color:#ffe1a0;font-size:7px;letter-spacing:.08em;text-shadow:0 1px 5px #000}
.temple-omikuji.drawing:not(.gsap-active):not(.waapi-active) .omikuji-vessel{animation:omikujiVesselShake 1.5s ease-in-out both}
.temple-omikuji.drawing:not(.gsap-active):not(.waapi-active) .omikuji-box{animation:omikujiVesselFade .32s 2.28s ease-in both}
.temple-omikuji.drawing:not(.gsap-active):not(.waapi-active) .omikuji-sticks{animation:omikujiVesselFade .28s 2.02s ease-in both}
.temple-omikuji.drawing:not(.gsap-active):not(.waapi-active) .omikuji-picked{animation:omikujiPickedRise 2.7s ease-in-out both}
.temple-omikuji.revealed .omikuji-box,.temple-omikuji.revealed .omikuji-sticks,.temple-omikuji.revealed .omikuji-picked{opacity:0!important}
.temple-omikuji.revealed .omikuji-slip{animation:omikujiPaperReveal .72s .04s cubic-bezier(.2,.9,.3,1.18) both}
@keyframes omikujiStickBounce{from{bottom:0}to{bottom:4px}}
@keyframes omikujiButtonBreath{from{box-shadow:0 8px 24px rgba(0,0,0,.36),0 0 0 rgba(255,201,104,0)}to{box-shadow:0 8px 24px rgba(0,0,0,.36),0 0 18px rgba(255,201,104,.48)}}
@keyframes omikujiVesselShake{0%,100%{transform:translate(0,0) rotate(0)}16%{transform:translate(-8px,-4px) rotate(-3deg)}33%{transform:translate(10px,2px) rotate(3.5deg)}50%{transform:translate(-9px,-3px) rotate(-3deg)}67%{transform:translate(8px,1px) rotate(2.5deg)}84%{transform:translate(-5px,-1px) rotate(-1.5deg)}}
@keyframes omikujiVesselFade{from{opacity:1}to{opacity:0}}
@keyframes omikujiPickedRise{0%,40%{opacity:0;transform:translate(0,88px) rotate(0)}45%{opacity:1}78%{opacity:1;transform:translate(34px,-35px) rotate(9deg)}88%{opacity:1;transform:translate(31px,-30px) rotate(7deg)}100%{opacity:0;transform:translate(34px,-42px) rotate(8deg)}}
@keyframes omikujiPaperReveal{from{opacity:0;transform:rotateY(88deg) translateY(18px) scale(.92)}to{opacity:1;transform:rotateY(0) translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.temple-omikuji.drawing .omikuji-stick,.temple-omikuji.drawing .omikuji-draw:disabled{animation:none!important}}
/* Sunset shrine omikuji: painterly background + layered lacquer vessel animation. */
.profile-hero{grid-template-columns:minmax(350px,1fr) 310px minmax(250px,max-content)}
.omikuji-hero-stage{width:310px;min-height:330px}
.temple-omikuji .omikuji-temple-bg{opacity:.94;background:linear-gradient(180deg,rgba(54,18,14,.02),rgba(62,15,10,.08) 48%,rgba(14,5,4,.62)),url('/assets/omikuji-reference-scene-v3.webp') center/cover no-repeat;filter:saturate(.96) contrast(1.01) brightness(.84);transform:scale(1.025)}
.profile-hero .temple-omikuji img.omikuji-guardian-bg{z-index:1!important;inset:4% 0 auto auto!important;width:54%!important;height:76%!important;object-fit:cover!important;object-position:center top!important;transform:none!important;opacity:.24!important;filter:saturate(.85) sepia(.18) brightness(.9) drop-shadow(0 0 16px rgba(255,191,105,.22))!important;mix-blend-mode:screen;mask-image:linear-gradient(90deg,transparent,rgba(0,0,0,.72) 30%,#000 70%),linear-gradient(180deg,#000 58%,transparent 100%);mask-composite:intersect}
.temple-omikuji .omikuji-temple-vignette{background:linear-gradient(180deg,rgba(30,7,5,.08),rgba(22,5,4,.04) 44%,rgba(9,3,2,.72) 100%),radial-gradient(circle at 50% 55%,transparent 16%,rgba(25,5,3,.2) 82%);box-shadow:inset 0 0 44px rgba(21,3,2,.5)}
.temple-omikuji .omikuji-scene{bottom:-13px;transform:translateX(-50%) scale(.84)}
.temple-omikuji .temple-altar{left:18px;right:18px;bottom:37px;height:20px;background:linear-gradient(#6f281b,#2f0c08 56%,#100403);border-color:rgba(245,177,79,.5);box-shadow:0 12px 22px rgba(0,0,0,.65),inset 0 2px rgba(255,213,132,.2)}
.temple-omikuji .temple-seal{top:54px;border-color:rgba(255,205,115,.6);color:#ffd58d;background:rgba(93,25,16,.34);box-shadow:0 0 0 4px rgba(117,32,21,.2),0 0 30px rgba(255,171,62,.28)}
.temple-omikuji .omikuji-box{z-index:6;left:68px;bottom:72px;width:144px;height:168px;filter:drop-shadow(0 21px 18px rgba(22,3,2,.72))}
.temple-omikuji .box-body{inset:4px 2px 3px;clip-path:polygon(13% 0,87% 0,97% 7%,94% 91%,82% 100%,18% 100%,6% 91%,3% 7%);background:linear-gradient(90deg,#340605 0 8%,#68100c 15%,#a22d1f 35%,#c44a31 49%,#8b2018 68%,#5a0c09 86%,#280504 100%);box-shadow:inset 0 0 0 2px rgba(244,181,79,.48),inset 18px 0 24px rgba(255,132,71,.12),inset -19px 0 24px rgba(25,2,2,.48)}
.temple-omikuji .box-body:before{opacity:.62;background:repeating-linear-gradient(0deg,transparent 0 18px,rgba(239,179,74,.45) 19px,transparent 20px 37px),linear-gradient(90deg,transparent 37%,rgba(255,217,142,.17) 50%,transparent 63%)}
.temple-omikuji .box-mouth{left:4px;right:4px;top:-10px;height:29px;border:3px solid #cf8b38;background:radial-gradient(ellipse,#080202 0 40%,#3b0906 43% 54%,#b63725 58% 72%,#63110c 76%);box-shadow:0 4px 9px rgba(0,0,0,.8),inset 0 2px rgba(255,226,151,.38),0 0 10px rgba(223,121,42,.2)}
.temple-omikuji .box-neck{left:10px;right:10px;top:10px;height:23px;border-color:#d0953f;background:linear-gradient(90deg,#5d0e0a,#bc3d28 47%,#68110d);box-shadow:inset 0 -7px 10px rgba(37,3,2,.42)}
.temple-omikuji .box-band{left:4px;right:4px;height:9px;border-color:#6c3710;background:linear-gradient(#f0c267,#8c561e 45%,#d99f3e 58%,#704012)}
.temple-omikuji .box-band.top{top:28px}.temple-omikuji .box-band.bottom{bottom:18px}
.temple-omikuji .box-plaque{top:49px;width:70px;height:88px;border:1px solid rgba(235,177,71,.7);border-radius:32px 32px 12px 12px;background:radial-gradient(circle at 50% 40%,rgba(222,152,53,.18),rgba(59,7,5,.16) 58%,rgba(29,3,3,.38));color:#f4c96f;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:17px;letter-spacing:.16em;text-shadow:0 0 9px rgba(255,188,74,.5);box-shadow:inset 0 0 0 3px rgba(225,158,56,.1),0 4px 12px rgba(26,2,2,.4)}
.temple-omikuji .box-plaque:before{content:'龍';top:-16px;width:27px;height:27px;border:1px solid #d9a149;background:#73140e;color:#f0c56e;font-size:12px;box-shadow:0 0 10px rgba(241,169,58,.28)}
.temple-omikuji .box-plaque:after{content:'◆';position:absolute;bottom:7px;color:rgba(241,188,87,.68);font-size:8px;writing-mode:horizontal-tb}
.temple-omikuji .box-foot{left:10px;right:10px;bottom:-1px;height:22px;border-color:#d0993f;background:linear-gradient(90deg,#4d0b08,#a52f20 46%,#4c0a07);box-shadow:0 5px 9px rgba(0,0,0,.58),inset 0 2px rgba(255,203,102,.22)}
.temple-omikuji .box-rivet{background:#e0ad50;box-shadow:0 0 5px rgba(255,188,71,.48)}
.temple-omikuji .omikuji-sticks{z-index:7;left:81px;bottom:180px!important;width:118px;height:148px;clip-path:inset(0 0 22% 0)}
.temple-omikuji .omikuji-stick{width:17px;height:145px;border:1px solid rgba(58,25,10,.66);border-radius:0 0 2px 2px;clip-path:polygon(50% 0,100% 7%,100% 100%,0 100%,0 7%);background:linear-gradient(90deg,#45200f 0 8%,#9b5a31 9% 38%,#d59a5d 39% 53%,#9b572f 54% 91%,#3a180b 92% 100%);box-shadow:0 4px 7px rgba(0,0,0,.62),inset 1px 0 rgba(255,215,154,.3),inset -1px 0 rgba(50,18,6,.4)}
.temple-omikuji .omikuji-stick:after{top:0;height:17px;border-radius:0;background:linear-gradient(90deg,#6b160f 0 10%,#c44a31 12% 50%,#8b2419 52% 90%,#54100c 92%)}
.temple-omikuji .omikuji-stick:nth-child(1){left:0;height:138px;transform:rotate(-7deg)}.temple-omikuji .omikuji-stick:nth-child(2){left:16px;height:146px;transform:rotate(-4deg)}.temple-omikuji .omikuji-stick:nth-child(3){left:32px;height:141px;transform:rotate(-2deg)}.temple-omikuji .omikuji-stick:nth-child(4){left:48px;height:148px;transform:rotate(.5deg)}.temple-omikuji .omikuji-stick:nth-child(5){left:64px;height:143px;transform:rotate(3deg)}.temple-omikuji .omikuji-stick:nth-child(6){left:80px;height:146px;transform:rotate(5deg)}.temple-omikuji .omikuji-stick:nth-child(7){left:96px;height:139px;transform:rotate(7deg)}
.temple-omikuji .omikuji-picked{z-index:7;left:130px;bottom:172px!important;width:20px!important;height:174px;border:1px solid rgba(58,25,10,.68);border-top:0;clip-path:polygon(50% 0,100% 7%,100% 100%,0 100%,0 7%);border-radius:0 0 2px 2px;background:linear-gradient(90deg,#45200f 0 8%,#a56135 9% 39%,#dda567 40% 54%,#9d5a30 55% 91%,#39170a 92%)!important;box-shadow:0 0 12px rgba(255,176,75,.48),0 7px 10px rgba(0,0,0,.58)!important}
.temple-omikuji .omikuji-picked:before{content:'';position:absolute;z-index:0;left:0;right:0;top:0;height:19px;background:linear-gradient(90deg,#67130d,#c94b32 45%,#7a1b13)}
.temple-omikuji .omikuji-picked:after{content:'上籤';z-index:1;top:23px;color:#2d130a;font-size:7px;font-weight:700}
.temple-omikuji .box-front-rim{position:absolute;z-index:8;left:72px;bottom:221px;width:136px;height:16px;border:0;border-bottom:4px solid #d69a3f;border-radius:0 0 50% 50%;background:linear-gradient(180deg,rgba(181,53,35,.04),#9f2e20 54%,#5d0e0a 58%,#2c0504);box-shadow:0 3px 5px rgba(0,0,0,.52),inset 0 -2px rgba(255,190,85,.18);pointer-events:none}
.temple-omikuji .box-front-rim:after{content:'';position:absolute;left:16px;right:16px;top:-7px;height:12px;border-radius:50%;border-bottom:2px solid rgba(255,184,75,.68);background:linear-gradient(180deg,transparent,rgba(43,4,3,.55))}
.temple-omikuji.revealed .box-front-rim{opacity:0}
.temple-omikuji:not(.drawing):not(.revealed) .omikuji-vessel{animation:omikujiIdleFloat 3.8s ease-in-out infinite}
.temple-omikuji.drawing .omikuji-stick:nth-child(odd){animation:omikujiStickRattle .16s ease-in-out 9 alternate}.temple-omikuji.drawing .omikuji-stick:nth-child(even){animation:omikujiStickRattle .18s .04s ease-in-out 9 alternate-reverse}
@keyframes omikujiIdleFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes omikujiStickRattle{from{bottom:0}to{bottom:8px}}
@media(max-width:1050px){.profile-hero{grid-template-columns:minmax(340px,1fr) minmax(270px,max-content)}.omikuji-hero-stage{width:min(100%,520px);min-height:330px}}
/* Compact omikuji card: integrated with the site's dark bio-tech visual system. */
.profile-hero{grid-template-columns:minmax(350px,1fr) 248px minmax(240px,max-content)}
.profile-hero .omikuji-hero-stage.temple-omikuji{width:248px;min-height:266px;border:1px solid rgba(166,255,209,.16)!important;border-radius:13px;background:radial-gradient(circle at 50% 28%,rgba(229,184,92,.08),transparent 42%),linear-gradient(160deg,#0b1712,#06100c 62%,#040a07)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.015),inset 0 0 40px rgba(56,242,139,.025),0 12px 30px rgba(0,0,0,.27)!important}
.profile-hero .temple-omikuji .omikuji-temple-bg{opacity:.42;background:linear-gradient(180deg,rgba(3,14,9,.18),rgba(5,15,10,.38) 52%,rgba(2,7,5,.86)),url('/assets/omikuji-reference-scene-v3.webp') center/cover no-repeat;filter:saturate(.55) sepia(.12) hue-rotate(34deg) contrast(1.04) brightness(.56);transform:scale(1.02)}
.profile-hero .temple-omikuji .omikuji-temple-vignette{background:linear-gradient(180deg,rgba(4,15,10,.12),rgba(3,12,8,.22) 48%,rgba(2,7,5,.82)),radial-gradient(circle at 50% 51%,transparent 16%,rgba(1,8,5,.32) 82%);box-shadow:inset 0 0 36px rgba(0,0,0,.44)}
.profile-hero .temple-omikuji img.omikuji-guardian-bg{opacity:.13!important;filter:saturate(.52) sepia(.2) hue-rotate(34deg) brightness(.72) drop-shadow(0 0 12px rgba(229,184,92,.14))!important}
.profile-hero .temple-omikuji .omikuji-scene{bottom:-31px;transform:translateX(-50%) scale(.63)}
.profile-hero .temple-omikuji.drawing .omikuji-scene{transform:translateX(-50%) scale(.63)}
.profile-hero .temple-omikuji.revealed .omikuji-scene{top:calc(50% + 55px);transform:translate(-50%,-50%) scale(1.42)}
.profile-hero .temple-omikuji .omikuji-box{filter:drop-shadow(0 16px 15px rgba(0,0,0,.62)) saturate(.72) brightness(.82)}
.profile-hero .temple-omikuji .omikuji-stick,.profile-hero .temple-omikuji .omikuji-picked{filter:saturate(.72) brightness(.88)}
.profile-hero .temple-omikuji .omikuji-hero-title{left:12px;top:10px;color:rgba(143,255,192,.54);font-size:6px;letter-spacing:.12em;text-shadow:none}
.profile-hero .temple-omikuji .omikuji-guardian-name{left:12px;right:12px;top:27px;padding:4px 8px;border-color:rgba(229,184,92,.28);background:rgba(4,13,9,.78);color:#e8cf95;font-size:7.5px;box-shadow:0 4px 12px rgba(0,0,0,.25);text-shadow:0 1px 5px #000}
.profile-hero .temple-omikuji .omikuji-source{right:11px;top:10px;color:rgba(166,255,209,.32);font-size:5px}
.profile-hero .temple-omikuji .temple-altar{left:18px;right:18px;bottom:34px;height:12px;border-color:rgba(229,184,92,.22);background:linear-gradient(#2b1b12,#100b07);box-shadow:0 7px 14px rgba(0,0,0,.5)}
.profile-hero .temple-omikuji .omikuji-draw{bottom:8px;padding:7px 14px;border-color:rgba(56,242,139,.45);background:rgba(5,24,16,.9);color:#9bffc6;font-size:8px;box-shadow:0 7px 17px rgba(0,0,0,.28)}
.profile-hero .temple-omikuji .omikuji-draw:hover{background:#38f28b;color:#04130b;border-color:#38f28b}
@media(max-width:1050px){.profile-hero{grid-template-columns:minmax(340px,1fr) minmax(250px,max-content)}.profile-hero .omikuji-hero-stage.temple-omikuji{width:248px;min-height:266px;grid-column:1/-1;justify-self:center}}
@media(max-width:620px){.profile-hero .omikuji-hero-stage.temple-omikuji{width:min(100%,244px);min-height:264px}}
@media(max-width:360px){.profile-hero .temple-omikuji.revealed .omikuji-scene{transform:translate(-50%,-50%) scale(1.24)}}
/* Result overlay controls: never inherit the compact card's top + bottom constraints. */
.profile-hero .temple-omikuji.revealed .omikuji-draw{left:calc(50% - 190px);right:auto;top:calc(50% - 231px);bottom:auto!important;width:auto!important;height:auto!important;min-width:0;min-height:0;padding:7px 12px;border:1px solid rgba(229,184,92,.48);border-radius:999px;background:rgba(5,24,16,.94);color:#baffd4;font-size:9px;line-height:1.2;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.38);transform:none}
.profile-hero .temple-omikuji.revealed .omikuji-close{left:calc(50% + 158px);right:auto;top:calc(50% - 236px);bottom:auto;width:34px;height:34px;border-color:rgba(229,184,92,.52);background:#f6efdf;color:#241b13;font-size:20px;box-shadow:0 8px 24px rgba(0,0,0,.42)}
@media(max-width:620px){.profile-hero .temple-omikuji.revealed .omikuji-draw{left:12px;right:auto;top:12px;bottom:auto!important}.profile-hero .temple-omikuji.revealed .omikuji-close{left:auto;right:12px;top:12px;bottom:auto}.profile-hero .temple-omikuji.revealed .omikuji-scene{top:calc(50% + 45px);transform:translate(-50%,-50%) scale(1.22)}}
/* Drawing state: quiet progress treatment instead of the hover-green pill. */
.profile-hero .temple-omikuji.drawing .omikuji-source{left:50%;right:auto;top:auto;bottom:45px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 28px);padding:0;border:0;background:transparent;color:rgba(186,255,212,.58);font-size:6px;letter-spacing:.09em;text-shadow:0 1px 5px #000}
.profile-hero .temple-omikuji.drawing .omikuji-draw:disabled,.profile-hero .temple-omikuji.drawing .omikuji-draw:disabled:hover{display:inline-flex;align-items:center;gap:7px;left:50%;right:auto;top:auto;bottom:10px;width:auto!important;height:28px!important;min-width:0;padding:6px 13px!important;border-color:rgba(56,242,139,.32)!important;background:rgba(4,18,12,.94)!important;color:rgba(186,255,212,.8)!important;font-size:8px;line-height:1;opacity:1!important;transform:translateX(-50%)!important;box-shadow:0 7px 18px rgba(0,0,0,.34),inset 0 0 12px rgba(56,242,139,.035)!important;animation:omikujiWaiting 1.15s ease-in-out infinite!important}
.profile-hero .temple-omikuji.drawing .omikuji-draw:disabled:before{content:'';width:7px;height:7px;flex:0 0 7px;border:1px solid rgba(143,255,192,.28);border-top-color:#8fffc0;border-radius:50%;animation:omikujiWaitingSpin .85s linear infinite}
@keyframes omikujiWaiting{50%{border-color:rgba(56,242,139,.52);color:#c9ffdd;box-shadow:0 7px 18px rgba(0,0,0,.34),0 0 12px rgba(56,242,139,.11)}}
@keyframes omikujiWaitingSpin{to{transform:rotate(360deg)}}
/* Rich Japanese fortune paper. */
.profile-hero .temple-omikuji .omikuji-slip{width:270px;min-height:360px;padding:23px 21px 20px}
.profile-hero .temple-omikuji .omikuji-rank{font-size:38px}
.profile-hero .temple-omikuji .omikuji-code{margin:6px 0 10px;font-size:7px}
.profile-hero .temple-omikuji .omikuji-message{font-size:12.5px;line-height:1.68}
.profile-hero .temple-omikuji .omikuji-action{margin-top:9px;padding-top:9px;font-size:10.5px;line-height:1.58}
.omikuji-details{display:grid;grid-template-columns:1fr 1fr;gap:0 12px;margin-top:10px;padding-top:8px;border-top:1px solid #d8c9ae;text-align:left}
.omikuji-detail{min-width:0;padding:5px 0;border-bottom:1px solid rgba(110,88,57,.16)}
.omikuji-detail span{display:block;margin-bottom:2px;color:#237250;font-family:'Noto Serif JP','Yu Mincho',serif;font-size:7.5px;font-weight:700;letter-spacing:.12em}
.omikuji-detail b{display:block;color:#4c4032;font-size:9px;font-weight:500;line-height:1.42}
.omikuji-key{margin-top:8px;padding:6px 8px;border:1px solid rgba(35,114,80,.24);background:rgba(35,114,80,.045);color:#5e4c38;font-size:8.5px;line-height:1.45;text-align:center}
.omikuji-key span{margin-right:5px;color:#237250;font-family:'Noto Serif JP','Yu Mincho',serif;font-weight:700;letter-spacing:.08em}
/* UI v2: readable type, 4-tab IA, today snapshot, omikuji in Explore */
label{font-size:12px!important;letter-spacing:.06em;}
.mini-label,.mcard-l,.mcard-j,.logo-text p,.reset-btn{font-size:12px;}
.mcard-d,.note,.disc,.hero-badge,.vs-day,.vs-mood{font-size:12px;line-height:1.65;}
.reading,.mini-val,.act-row{font-size:15px;}
/* 2026-10-04: wide screens only - keep reading lines near 40 ja chars / 75 en chars (phones are narrower than this already) */
.reading{max-width:40em;}
.panel-title{font-size:15px;}
.panel-title::before{font-size:10px;}
.header-right a,.header-right .reset-btn{font-size:12px;min-height:40px;display:inline-flex;align-items:center;}
.member-chip{display:inline-flex!important;align-items:center;gap:8px;min-height:40px;padding:3px 12px 3px 3px!important;border:1px solid var(--border);border-radius:999px;color:var(--text)!important;text-decoration:none;max-width:min(46vw,220px);background:rgba(255,255,255,.03)}
.member-chip.is-on{border-color:rgba(56,242,139,.45);background:rgba(56,242,139,.08)}
.member-avatar{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:rgba(56,242,139,.12);color:var(--green);font-size:14px;font-weight:700;overflow:hidden;flex:none}
.member-avatar img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.member-avatar.is-guardian{border:1px solid rgba(233,196,106,.62);box-shadow:0 0 10px rgba(233,196,106,.18)}
.member-copy{display:flex;flex-direction:column;line-height:1.15;min-width:0}
.member-copy b{font-size:12px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
.member-copy small{font-size:10px;color:var(--text-dim)}
.lang-chip{padding:0 12px;border:1px solid rgba(97,218,251,.4);border-radius:999px;color:var(--cyan)!important;text-decoration:none;font-family:Orbitron,monospace;font-size:11px!important;letter-spacing:.08em}
.dash-nav .nav-label small{display:none;}
.dash-nav .nav-main{min-height:48px;font-size:13px;}
.dash-time{display:flex;gap:8px;margin:12px 0 2px;flex-wrap:wrap}
.dash-subnav{display:none!important}
.dash-time button{min-height:48px;padding:8px 16px;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-dim);font-size:13px;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.dash-time button.active{background:var(--green);color:#05130c;border-color:var(--green);font-weight:700}
.dash-dock{display:none}
.profile-hero{grid-template-columns:minmax(0,1fr) minmax(180px,max-content)!important;gap:18px!important}
.omikuji-explore{width:min(100%,420px)!important;min-height:400px!important;margin:12px auto 0;justify-self:center;position:relative}
.omikuji-explore .omikuji-draw{font-size:14px!important;padding:12px 22px!important;min-height:48px!important;bottom:12px}
.omikuji-explore .omikuji-hero-title,.omikuji-explore .omikuji-source,.omikuji-explore .omikuji-guardian-name{font-size:12px!important;letter-spacing:.04em}
.cheer-main,.today-insight-q,.logo-text h1,.power-num,.hero-name{text-shadow:none!important}
body{background:var(--base);}
.share-now-btn{min-height:48px;padding:10px 16px;border:1px solid var(--accent);border-radius:999px;background:rgba(56,242,139,.1);color:var(--accent);font-size:14px;font-weight:700;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.share-overlay{position:fixed;inset:0;z-index:80;display:none;place-items:end center;background:rgba(7,11,10,.62);padding:16px 16px calc(16px + env(safe-area-inset-bottom))}
.share-overlay.open{display:grid}
.share-sheet{width:min(100%,440px);max-height:min(86vh,720px);overflow:auto;border:1px solid var(--border);border-radius:18px 18px 12px 12px;background:var(--base-2);padding:18px 16px 20px}
.share-sheet h3{font-size:18px;margin-bottom:6px}
.share-sheet p{font-size:13px;color:var(--text-dim);line-height:1.65;margin-bottom:14px}
.share-actions{display:grid;gap:8px}
.share-actions button,.share-actions a{min-height:48px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:12px;background:transparent;color:var(--text);font-size:15px;cursor:pointer;text-decoration:none;font-family:'Noto Sans JP',sans-serif}
.share-actions button.primary{background:var(--accent);color:#05130c;border-color:var(--accent);font-weight:700}
.share-close{float:right;width:40px;height:40px;border:0;background:transparent;color:var(--text-dim);font-size:22px;cursor:pointer}
.ai-source{font-size:12px;color:var(--text-dim);margin-top:6px;line-height:1.55}
.onboard-kicker{font-family:Orbitron,monospace;font-size:11px;letter-spacing:.16em;color:var(--green);margin-bottom:8px}
.onboard-lead{font-size:15px;color:var(--text-dim);line-height:1.7;margin-bottom:16px}
.onboard-ymd input{font-size:22px!important;min-height:56px;text-align:center;font-family:Orbitron,monospace;font-weight:700}
.gender-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:8px 0 16px}
.gender-pair button{min-height:72px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.03);color:var(--text);font-size:18px;font-weight:700;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.gender-pair button:hover,.gender-pair button:focus{border-color:var(--green);background:rgba(56,242,139,.12)}
.onboard-back{display:inline-flex;margin-top:8px;background:transparent;border:0;color:var(--text-dim);font-size:13px;cursor:pointer;min-height:44px}
.mcard,.jcell{cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
button.mcard{width:100%;font:inherit;color:inherit;appearance:none}
button.jcell{width:100%;font:inherit;color:inherit;appearance:none;text-align:center}
.mcard:hover,.jcell:hover{border-color:rgba(56,242,139,.55)!important;transform:translateY(-1px)}
.chart-explain{border-color:rgba(56,242,139,.38)!important}
.explore-hub{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.explore-tile{min-height:132px;padding:18px 16px;border:1px solid var(--border);border-radius:14px;background:rgba(255,255,255,.03);color:var(--text);text-align:left;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.explore-tile:hover{border-color:var(--green);background:rgba(56,242,139,.08)}
.explore-tile b{display:block;font-size:18px;margin-bottom:6px}
.explore-tile span{display:block;font-size:13px;color:var(--text-dim);line-height:1.6}
.oracle-fab{display:flex;position:fixed;right:18px;bottom:24px;z-index:45;width:64px;height:64px;border:1px solid rgba(229,184,92,.45);border-radius:50%;background:linear-gradient(160deg,#1a140c,#0c0a07);color:#e8cf95;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-shadow:0 12px 28px rgba(0,0,0,.4)}
.oracle-fab span{font-family:serif;font-size:18px;font-weight:700;line-height:1}
.oracle-fab small{font-size:9px;letter-spacing:.04em;color:rgba(232,207,149,.8)}
.oracle-fab:hover{border-color:#e5b85c;background:#e5b85c;color:#201406}
.oracle-overlay{position:fixed;inset:0;z-index:90;display:none;place-items:center;padding:16px;background:rgba(7,11,10,.46);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.oracle-overlay.open{display:grid}
.oracle-overlay:before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(56,242,139,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(56,242,139,.035) 1px,transparent 1px);background-size:72px 72px;mask-image:radial-gradient(ellipse at 50% 50%,#000 0 42%,transparent 82%)}
.oracle-sheet{position:relative;width:min(100%,720px);height:min(88vh,760px);display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(229,184,92,.28);border-radius:16px;padding:0;background:linear-gradient(165deg,rgba(22,18,12,.97),rgba(10,14,12,.96));box-shadow:0 24px 64px rgba(0,0,0,.48),0 0 0 1px rgba(229,184,92,.08),inset 0 1px rgba(255,224,170,.08);animation:fadeInUp .28s ease}
.oracle-sheet:after{content:'';position:absolute;inset:7px;z-index:0;pointer-events:none;border:1px solid rgba(229,184,92,.055);border-radius:11px;clip-path:polygon(0 0,62px 0,62px 1px,1px 1px,1px 62px,0 62px,0 0,100% 0,100% 62px,calc(100% - 1px) 62px,calc(100% - 1px) 1px,calc(100% - 62px) 1px,calc(100% - 62px) 0,100% 0,100% 100%,calc(100% - 62px) 100%,calc(100% - 62px) calc(100% - 1px),calc(100% - 1px) calc(100% - 1px),calc(100% - 1px) calc(100% - 62px),100% calc(100% - 62px),100% 100%,0 100%,0 calc(100% - 62px),1px calc(100% - 62px),1px calc(100% - 1px),62px calc(100% - 1px),62px 100%,0 100%)}
.oracle-sheet>*:not(.oracle-celestial){position:relative;z-index:1}
.oracle-celestial{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(circle at 14% 24%,rgba(229,184,92,.08) 0 1px,transparent 2px),radial-gradient(circle at 86% 65%,rgba(56,242,139,.06) 0 1px,transparent 2px),radial-gradient(ellipse at 50% 62%,rgba(229,184,92,.035),transparent 58%)}
.oracle-celestial:before{content:'';position:absolute;width:430px;height:430px;left:-245px;top:145px;border:1px solid rgba(229,184,92,.07);border-radius:50%;box-shadow:0 0 0 38px rgba(229,184,92,.018),0 0 0 96px rgba(229,184,92,.012)}
.oracle-celestial:after{content:'';position:absolute;width:280px;height:280px;right:-175px;bottom:42px;border:1px dashed rgba(56,242,139,.055);border-radius:50%}
.oracle-trigram{position:absolute;color:rgba(229,184,92,.11);font:400 34px serif;letter-spacing:-.12em;text-shadow:0 0 14px rgba(229,184,92,.08)}
.oracle-trigram-a{left:22px;bottom:24px;transform:rotate(-12deg)}.oracle-trigram-b{right:24px;top:126px;transform:rotate(10deg)}
.oracle-star{position:absolute;width:4px;height:4px;border-radius:50%;background:rgba(229,184,92,.55);box-shadow:0 0 8px rgba(229,184,92,.5);animation:oracleStarBreath 4.8s ease-in-out infinite}
.oracle-star.s1{left:12%;top:31%}.oracle-star.s2{left:19%;top:39%;animation-delay:-1.1s}.oracle-star.s3{left:29%;top:34%;animation-delay:-2.2s}.oracle-star.s4{right:18%;bottom:25%;animation-delay:-3.2s}.oracle-star.s5{right:11%;bottom:32%;animation-delay:-.6s}
.oracle-star-line{position:absolute;height:1px;transform-origin:left center;background:linear-gradient(90deg,rgba(229,184,92,.16),rgba(229,184,92,.025))}
.oracle-star-line.l1{width:72px;left:12%;top:31%;transform:rotate(32deg)}.oracle-star-line.l2{width:80px;left:19%;top:39%;transform:rotate(-20deg)}.oracle-star-line.l3{width:74px;right:11%;bottom:32%;transform:rotate(145deg)}
@keyframes oracleStarBreath{0%,100%{opacity:.28;transform:scale(.8)}50%{opacity:.8;transform:scale(1.2)}}
.oracle-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:13px 12px 10px 16px;border-bottom:1px solid rgba(229,184,92,.12);background:radial-gradient(420px 90px at 0% 0%,rgba(229,184,92,.14),transparent 70%)}
.oracle-title-lockup{display:flex;align-items:center;gap:11px;min-width:0}
.oracle-head-portrait{position:relative;flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;overflow:hidden;border:1px solid rgba(229,184,92,.55);border-radius:50%;background:#17130e;color:var(--ritual);font:700 15px serif;box-shadow:0 0 0 3px rgba(229,184,92,.05),0 0 18px rgba(229,184,92,.1)}
.oracle-head-portrait>span,.oracle-head-portrait>img{grid-area:1/1}.oracle-head-portrait img{width:100%;height:100%;object-fit:cover}
.oracle-kicker{font-family:Orbitron,monospace;font-size:8px;letter-spacing:.22em;color:var(--ritual);margin-bottom:4px}
.oracle-sheet h3{font-size:16px;margin:0;letter-spacing:.04em;font-weight:700}
.oracle-sheet h3:before{content:'◆';color:var(--ritual);font-size:8px;margin-right:8px;vertical-align:2px}
.oracle-head-actions{display:flex;align-items:center;gap:8px;flex:none}
.oracle-reset{border:1px solid rgba(229,184,92,.28);border-radius:999px;background:rgba(229,184,92,.08);color:#e8cf95;font-size:11px;padding:7px 11px;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.oracle-reset:hover{border-color:var(--ritual);background:rgba(229,184,92,.16)}
.oracle-note{font-size:11px;color:var(--text-dim);line-height:1.55;margin:0;padding:8px 16px 9px;border-bottom:1px solid rgba(255,255,255,.05)}
.oracle-principles{display:flex;align-items:center;justify-content:center;gap:10px;min-height:25px;border-bottom:1px solid rgba(229,184,92,.055);color:rgba(229,184,92,.44);font-family:Orbitron,'Noto Sans JP',sans-serif;font-size:8px;letter-spacing:.16em}
.oracle-principles i{width:34px;height:1px;background:linear-gradient(90deg,transparent,rgba(229,184,92,.22),transparent)}
.oracle-close{float:none;flex:none;width:34px;height:34px;border:1px solid var(--border);border-radius:50%;background:rgba(255,255,255,.03);color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer}
.oracle-close:hover{border-color:var(--ritual);color:var(--ritual);background:rgba(229,184,92,.08)}
.oracle-chat{flex:1;min-height:0;display:flex;flex-direction:column}
.oracle-chat[hidden]{display:none}
.oracle-log{flex:1;min-height:0;overflow:auto;padding:16px 16px 8px;display:flex;flex-direction:column;gap:12px;scrollbar-width:thin}
.oracle-message{display:flex;align-items:flex-end;gap:9px;max-width:90%;animation:fadeInUp .22s ease}
.oracle-message.bot{align-self:flex-start}.oracle-message.user{align-self:flex-end;flex-direction:row-reverse}
.oracle-avatar{flex:0 0 38px;width:38px;height:38px;display:grid;place-items:center;overflow:hidden;border-radius:50%;background:#102019;color:#d9f5e3;font-family:Orbitron,monospace;font-size:13px;font-weight:700;box-shadow:0 5px 14px rgba(0,0,0,.3)}
.oracle-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.oracle-avatar>span,.oracle-avatar>img{grid-area:1/1}
.oracle-avatar.bot{border:1px solid rgba(229,184,92,.55);box-shadow:0 0 0 2px rgba(229,184,92,.08),0 5px 14px rgba(0,0,0,.3)}
.oracle-avatar.user{border:1px solid rgba(56,242,139,.5);box-shadow:0 0 0 2px rgba(56,242,139,.07),0 5px 14px rgba(0,0,0,.3)}
.oracle-bubble{max-width:100%;padding:11px 13px;border-radius:14px;line-height:1.75;font-size:13.5px}
.oracle-bubble .oracle-who{font-family:Orbitron,monospace;font-size:8px;letter-spacing:.16em;margin-bottom:5px;opacity:.7}
.oracle-message.bot .oracle-bubble{border:1px solid rgba(229,184,92,.22);background:rgba(229,184,92,.07);color:#f4ead4;border-bottom-left-radius:4px}
.oracle-message.user .oracle-bubble{border:1px solid rgba(56,242,139,.28);background:rgba(56,242,139,.1);color:#e9f8ef;border-bottom-right-radius:4px}
.oracle-message.err .oracle-bubble{border-color:rgba(255,95,114,.35);background:rgba(255,95,114,.08);color:#ffc4cb}
.oracle-message.typing .oracle-text:after{content:'▍';color:var(--ritual);animation:oracleBlink 1s step-end infinite}
.oracle-member-gate{flex:1;min-height:320px;display:grid;place-items:center;padding:28px;text-align:center}
.oracle-member-gate[hidden]{display:none}
.oracle-gate-card{width:min(100%,430px);padding:30px 26px;border:1px solid rgba(229,184,92,.25);border-radius:18px;background:radial-gradient(circle at 50% 0,rgba(229,184,92,.12),transparent 58%),rgba(255,255,255,.025)}
.oracle-gate-seal{width:58px;height:58px;display:grid;place-items:center;margin:0 auto 15px;border:1px solid rgba(229,184,92,.5);border-radius:50%;color:var(--ritual);font:700 22px serif;box-shadow:0 0 24px rgba(229,184,92,.12)}
.oracle-gate-card h4{margin:0 0 8px;font-size:18px}.oracle-gate-card p{margin:0;color:var(--text-dim);font-size:13px;line-height:1.8}
.oracle-login-link{display:inline-flex;align-items:center;justify-content:center;min-width:170px;min-height:44px;margin-top:18px;padding:0 18px;border-radius:999px;background:var(--ritual);color:#201406;font-size:13px;font-weight:700;text-decoration:none}
@keyframes oracleBlink{50%{opacity:0}}
.oracle-suggest{display:flex;flex-wrap:wrap;gap:7px;padding:4px 16px 10px}
.oracle-suggest button{border:1px solid rgba(229,184,92,.22);border-radius:999px;background:rgba(255,255,255,.03);color:#e8cf95;font-size:11px;padding:6px 11px;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.oracle-suggest button:hover{border-color:var(--ritual);background:rgba(229,184,92,.12)}
.oracle-composer{display:flex;gap:8px;align-items:flex-end;padding:10px 12px 12px;border-top:1px solid rgba(229,184,92,.12);background:rgba(0,0,0,.18)}
.oracle-composer textarea{flex:1;min-height:44px;max-height:120px;resize:none;border:1px solid rgba(229,184,92,.22);border-radius:12px;background:rgba(255,255,255,.04);color:var(--text);padding:11px 12px;font-size:14px;font-family:'Noto Sans JP',sans-serif;line-height:1.55}
.oracle-composer textarea:focus{border-color:var(--ritual);box-shadow:0 0 0 3px rgba(229,184,92,.1)}
.oracle-composer button[type=submit]{flex:none;min-width:64px;height:44px;border:0;border-radius:12px;background:var(--ritual);color:#201406;font-weight:700;cursor:pointer;font-family:'Noto Sans JP',sans-serif}
.oracle-composer button[type=submit]:hover{filter:brightness(1.08)}
.oracle-composer button[type=submit]:disabled{opacity:.45;cursor:wait}
body.oracle-open{overflow:hidden}
body.oracle-open .oracle-fab{display:none}
body[data-dash-view="explore"][data-dash-sub="ritual"] .omikuji-explore{width:min(100%,560px)!important;min-height:min(70vh,640px)!important}
body[data-dash-view="explore"][data-dash-sub="ritual"] .omikuji-explore .omikuji-draw{font-size:16px!important;min-height:56px!important;padding:14px 28px!important}
.deepen-card input,.deepen-card select,.cmp-row input{min-height:48px}
@media(max-width:820px){
  body.is-dash .wrap{padding-bottom:96px}
  .dash-nav{display:none!important}
  .dash-dock{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;gap:4px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:rgba(7,11,10,.94);border-top:1px solid var(--border);backdrop-filter:blur(16px)}
  .dash-dock>.dock-item{flex:1;position:relative;min-width:0}
  .dash-dock .dock-main{width:100%;min-height:48px;border:0;border-radius:10px;background:transparent;color:var(--text-dim);font-size:12px;cursor:pointer;font-family:'Noto Sans JP',sans-serif;display:flex;align-items:center;justify-content:center;gap:6px}
  .dash-dock .dock-main.active,.dash-dock>.dock-item.active>.dock-main{background:var(--green);color:#05130c;font-weight:700}
  .explore-hub{gap:10px}
  .explore-tile{min-height:112px;padding:14px 12px}
  .explore-tile b{font-size:16px}
  .oracle-fab{right:12px;bottom:84px;width:56px;height:56px}
  .oracle-overlay{padding:10px}
  .oracle-sheet{width:100%;height:min(92vh,760px)}
  .oracle-bubble{max-width:92%}
  .oracle-trigram,.oracle-star,.oracle-star-line{display:none}.oracle-principles{font-size:7px;gap:7px}.oracle-principles i{width:20px}.oracle-head-portrait{width:36px;height:36px;flex-basis:36px}
}
@media(prefers-reduced-motion:reduce){.oracle-star{animation:none;opacity:.38}}

/* Two-level animated nav: desktop hover flyout, mobile dock sheet */
.nav-caret{width:7px;height:7px;margin:0 0 3px 2px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);opacity:.55;transition:transform .22s ease,margin .22s ease,opacity .22s}
.nav-item:hover>.nav-main .nav-caret,.nav-item.is-open>.nav-main .nav-caret,.nav-item:focus-within>.nav-main .nav-caret,.dock-item.is-open>.dock-main .nav-caret{transform:rotate(225deg);margin-bottom:-1px;opacity:1}
.dash-nav>.nav-item>.nav-main{gap:6px}
.nav-flyout,.dock-flyout{display:flex;flex-direction:column;gap:3px;padding:8px;background:rgba(7,13,11,.98);border:1px solid rgba(166,255,209,.18);border-radius:12px;box-shadow:0 18px 48px rgba(0,0,0,.48);backdrop-filter:blur(18px);z-index:60}
.nav-flyout{position:absolute;top:calc(100% + 8px);left:50%;width:max-content;min-width:188px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,-8px) scale(.96);transform-origin:50% 0;transition:opacity .2s ease,transform .22s cubic-bezier(.22,1,.36,1),visibility .2s}
.nav-flyout:before{content:'';position:absolute;left:0;right:0;top:-10px;height:10px}
.nav-item:hover>.nav-flyout,.nav-item:focus-within>.nav-flyout,.nav-item.is-open>.nav-flyout{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
.nav-flyout button,.dock-flyout button{display:block!important;width:100%;min-width:0!important;min-height:44px;padding:10px 12px!important;border:0!important;border-radius:8px!important;background:transparent!important;color:var(--text-dim)!important;text-align:left!important;font-family:'Noto Sans JP',sans-serif!important;font-size:13px!important;font-weight:500;white-space:nowrap;box-shadow:none!important;opacity:0;transform:translateY(8px);transition:opacity .18s ease,transform .18s cubic-bezier(.22,1,.36,1),background .15s,color .15s}
.nav-item:hover>.nav-flyout button,.nav-item:focus-within>.nav-flyout button,.nav-item.is-open>.nav-flyout button,.dock-item.is-open>.dock-flyout button{opacity:1;transform:none}
.nav-flyout button:nth-child(1),.dock-flyout button:nth-child(1){transition-delay:.04s}
.nav-flyout button:nth-child(2),.dock-flyout button:nth-child(2){transition-delay:.07s}
.nav-flyout button:nth-child(3),.dock-flyout button:nth-child(3){transition-delay:.1s}
.nav-flyout button:nth-child(4),.dock-flyout button:nth-child(4){transition-delay:.13s}
.nav-flyout button:nth-child(5),.dock-flyout button:nth-child(5){transition-delay:.16s}
.nav-flyout button:nth-child(6),.dock-flyout button:nth-child(6){transition-delay:.19s}
.nav-item:not(:hover):not(:focus-within):not(.is-open)>.nav-flyout button,.dock-item:not(.is-open)>.dock-flyout button{transition-delay:0s!important;opacity:0;transform:translateY(6px)}
.nav-flyout button:hover,.dock-flyout button:hover{color:var(--text)!important;background:rgba(255,255,255,.06)!important}
.nav-flyout button.active,.dock-flyout button.active{color:var(--green)!important;background:rgba(56,242,139,.12)!important;font-weight:700}
.nav-flyout button:first-child{border-bottom:0!important;margin-bottom:0!important}
.nav-scrim{position:fixed;inset:0;z-index:39;background:rgba(7,11,10,.42);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s}
body.nav-menu-open .nav-scrim{opacity:1;visibility:visible;pointer-events:auto}
@media(min-width:821px){
  .dash-time{display:none}
  .dash-nav{overflow:visible;z-index:30}
  .nav-item:focus-within:not(:hover)>.nav-flyout{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
  .dash-nav>.nav-item:nth-last-child(-n+2)>.nav-flyout{left:auto;right:0;transform:translate(0,-8px) scale(.96)}
  .dash-nav>.nav-item:nth-last-child(-n+2):hover>.nav-flyout,
  .dash-nav>.nav-item:nth-last-child(-n+2):focus-within>.nav-flyout,
  .dash-nav>.nav-item:nth-last-child(-n+2).is-open>.nav-flyout{transform:translate(0,0) scale(1)}
}
@media(max-width:820px){
  .dash-dock{overflow:visible}
  .dock-flyout{position:absolute;left:50%;bottom:calc(100% + 10px);width:max-content;min-width:168px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,10px) scale(.96);transform-origin:50% 100%;transition:opacity .2s ease,transform .22s cubic-bezier(.22,1,.36,1),visibility .2s}
  .dock-item.is-open>.dock-flyout{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
  .dash-dock>.dock-item:first-child>.dock-flyout{left:0;transform:translate(0,10px) scale(.96)}
  .dash-dock>.dock-item:first-child.is-open>.dock-flyout{transform:translate(0,0) scale(1)}
  .dash-dock>.dock-item:last-child>.dock-flyout,.dash-dock>.dock-item:nth-last-child(2)>.dock-flyout{left:auto;right:0;transform:translate(0,10px) scale(.96)}
  .dash-dock>.dock-item:last-child.is-open>.dock-flyout,.dash-dock>.dock-item:nth-last-child(2).is-open>.dock-flyout{transform:translate(0,0) scale(1)}
}
@media(max-width:820px){
  .member-copy small{display:none}
  .member-copy b{max-width:72px}
}
@media(prefers-reduced-motion:reduce){
  .nav-flyout,.dock-flyout,.nav-flyout button,.dock-flyout button,.nav-caret,.nav-scrim{transition:none}
}
