:root{font-family:"Noto Serif SC",Songti SC,STSong,SimSun,serif;color:var(--text-light);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;--bg: #11100e;--card-black: #171510;--gold: #b99a5b;--gold-dim: #8f7440;--text-light: #f1e7d2;--text-muted: #d7c7a3;--text-dark: #2b2419;--muted: rgba(215, 199, 163, .68);--page-max: 430px;--page-pad: 20px;--content-max: 390px;--card-pad: 24px;--card-frame-inset: 13px}*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-width:320px;min-height:100vh}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}button:focus-visible{outline:1px solid var(--gold);outline-offset:4px}.app-shell{position:relative;min-height:100svh;overflow:hidden;background:radial-gradient(circle at 20% 8%,rgba(241,231,210,.045),transparent 24%),radial-gradient(circle at 85% 92%,rgba(185,154,91,.095),transparent 30%),linear-gradient(rgba(185,154,91,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(185,154,91,.025) 1px,transparent 1px),var(--bg);background-size:auto,auto,34px 34px,34px 34px}.app-shell:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 50% 18%,transparent 0 34%,rgba(0,0,0,.24) 78%),repeating-radial-gradient(circle at 30% 10%,rgba(255,255,255,.035) 0 1px,transparent 1px 5px);opacity:.55;mix-blend-mode:soft-light}.ambient{position:fixed;border-radius:50%;filter:blur(90px);pointer-events:none;opacity:.12}.ambient-one{width:320px;height:320px;background:#5b4a26;top:-180px;right:-160px}.ambient-two{width:280px;height:280px;background:#25352f;bottom:-190px;left:-170px}.page{position:relative;z-index:1;width:min(100%,var(--page-max));min-height:100svh;margin:0 auto;padding:0 var(--page-pad) calc(34px + env(safe-area-inset-bottom))}.topbar{height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid rgba(185,154,91,.22)}.topbar-title{display:flex;align-items:center;justify-content:center;min-width:0;text-align:center;color:var(--text-muted);font-family:Georgia,Times New Roman,serif;font-size:12px;line-height:1.25;letter-spacing:.12em;font-weight:500;white-space:nowrap}.topbar-action{display:flex;justify-content:flex-end}.icon-button,.saved-button{width:42px;height:42px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer;padding:0;color:var(--gold)}.saved-button{position:relative}.saved-button b{position:absolute;right:0;top:2px;display:grid;place-items:center;min-width:16px;height:16px;padding:0 3px;border:1px solid rgba(185,154,91,.35);border-radius:10px;background:#201a12;color:var(--text-muted);font:600 9px Georgia,serif}.brand-mark{display:flex;align-items:center;gap:2px;width:28px;height:24px;color:var(--gold)}.brand-mark i{display:block;width:2px;border-radius:2px;background:currentColor}.brand-mark i:nth-child(1){height:7px}.brand-mark i:nth-child(2){height:18px}.brand-mark i:nth-child(3){height:12px}.brand-mark i:nth-child(4){height:22px}.brand-mark i:nth-child(5){height:9px}.card-count{color:var(--muted);font-size:12px;white-space:nowrap}.hero{width:100%;margin:24px auto 0;padding:34px 18px 30px;border:1px solid rgba(185,154,91,.22);background:radial-gradient(circle at 50% 18%,rgba(185,154,91,.1),transparent 34%),linear-gradient(145deg,#ffffff06,#0000001a);box-shadow:inset 0 0 0 1px #0000002e;text-align:center}.kicker,.draw-intro-copy>span,.section-heading span{color:var(--gold-dim);font:500 10px Georgia,Times New Roman,serif;letter-spacing:.22em;text-transform:uppercase}.hero h1{margin:14px 0;color:var(--text-light);font-size:clamp(34px,9.6vw,48px);line-height:1.18;letter-spacing:-.06em;font-weight:500}.hero h1:after{content:"✦";display:block;margin-top:14px;color:var(--gold-dim);font-size:14px;letter-spacing:0}.hero p{color:var(--muted);margin:0;font-size:14px;letter-spacing:.06em}.section{padding-top:34px}.section-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:16px;margin-bottom:16px}.section-heading h2{margin:8px 0 0;font-size:20px;font-weight:500;color:var(--text-light)}.section-heading button{border:0;background:transparent;color:var(--muted);font-size:12px;cursor:pointer;padding:8px 0}.deck-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.deck-tile{min-height:220px;display:flex;flex-direction:column;align-items:flex-start;position:relative;padding:17px;overflow:hidden;border:1px solid rgba(185,154,91,.25);border-radius:2px;background:radial-gradient(circle at 22% 12%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 24%),linear-gradient(140deg,color-mix(in srgb,var(--accent) 11%,#171510),#11100e 74%);text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 0 0 4px #b99a5b06}.deck-tile:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%,var(--gold));box-shadow:0 16px 36px #00000047,inset 0 0 0 4px #b99a5b0a}.deck-tile:before,.deck-tile:after{content:"";position:absolute;pointer-events:none}.deck-tile:before{top:8px;right:8px;bottom:8px;left:8px;border:1px solid rgba(185,154,91,.18)}.deck-tile:after{right:14px;top:14px;width:18px;height:18px;border-top:1px solid rgba(185,154,91,.45);border-right:1px solid rgba(185,154,91,.45)}.deck-lines{display:flex;gap:4px;align-items:flex-end;height:45px;margin:2px 0 20px;color:var(--accent);opacity:.9}.deck-lines i{width:1px;background:currentColor}.deck-lines i:nth-child(1){height:19px}.deck-lines i:nth-child(2){height:35px}.deck-lines i:nth-child(3){height:25px}.deck-tile strong{font-size:19px;font-weight:500;color:var(--text-light)}.deck-tile p{min-height:42px;margin:8px 0 19px;color:#d7c7a3b3;font-size:11px;line-height:1.75}.deck-meta{width:100%;display:flex;justify-content:space-between;margin-top:auto;color:var(--gold-dim);font:500 9px Georgia,serif;letter-spacing:.16em;text-transform:uppercase}.home-footer{margin-top:48px;padding:28px 10px 10px;border-top:1px solid rgba(185,154,91,.18);color:#d7c7a373;font-size:11px;text-align:center;letter-spacing:.08em}.draw-intro{min-height:calc(100svh - 90px);display:flex;flex-direction:column;align-items:center;padding:48px 5px 20px;text-align:center}.stacked-card{position:relative;width:min(68vw,285px);aspect-ratio:3 / 4.6;margin-bottom:46px}.stack-card{position:absolute;top:0;right:0;bottom:0;left:0;border:1px solid rgba(185,154,91,.24);border-radius:3px}.back-two{transform:rotate(5deg) translate(8px,-3px);background:#100f0d}.back-one{transform:rotate(-4deg) translate(-7px,2px);background:#18150f}.front{display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:31px 22px 23px;background:radial-gradient(circle at 50% 38%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 42%),linear-gradient(155deg,color-mix(in srgb,var(--accent) 9%,var(--card-black)),#100f0d 78%);box-shadow:0 30px 70px #00000061,inset 0 0 0 8px #b99a5b09}.front:before,.front:after{content:"";position:absolute;left:20px;right:20px;height:1px;background:#b99a5b38}.front:before{top:72px}.front:after{bottom:55px}.front>span{color:var(--gold);font:500 9px Georgia,serif;letter-spacing:.22em}.tarot-question{display:grid;place-items:center;width:108px;height:108px;margin:2px 0 0;border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);border-radius:50%;color:color-mix(in srgb,var(--accent) 86%,var(--text-light));font-family:Snell Roundhand,Zapfino,Baskerville,Times New Roman,serif;font-size:78px;font-weight:400;line-height:1;letter-spacing:-.08em;text-shadow:0 0 18px color-mix(in srgb,var(--accent) 24%,transparent);transform:rotate(-8deg)}.front small{color:var(--gold-dim);font:8px Georgia,serif;letter-spacing:.18em}.draw-intro-copy h1{margin:8px 0;font-size:27px;font-weight:500;color:var(--text-light)}.draw-intro-copy p{margin:0 0 26px;color:var(--muted);font-size:12px}.primary-button{width:100%;max-width:360px;height:56px;display:flex;justify-content:center;align-items:center;gap:10px;border:1px solid rgba(185,154,91,.58);border-radius:2px;background:linear-gradient(180deg,#b99a5b24,#b99a5b0d);color:var(--text-light);font-weight:500;cursor:pointer;box-shadow:inset 0 0 0 1px #11100ea6;transition:border-color .2s ease,background .2s ease,transform .2s ease}.primary-button:hover{transform:translateY(-1px);border-color:var(--gold);background:#b99a5b29}.draw-hint{margin-top:13px;color:#d7c7a373;font-size:10px}.draw-result,.detail-page{padding-top:0}.draw-result{padding-bottom:20px}.draw-result .primary-button{max-width:none}.inspiration-card{--accent: var(--gold);width:100%;max-width:var(--content-max);min-height:min(620px,calc(100svh - 220px));aspect-ratio:3 / 4.52;display:flex;flex-direction:column;position:relative;margin:24px auto 18px;padding:var(--card-pad);overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 45%,transparent);border-radius:3px;background:radial-gradient(circle at 20% 10%,rgba(255,255,255,.04),transparent 24%),radial-gradient(circle at 80% 90%,color-mix(in srgb,var(--accent) 12%,transparent),transparent 28%),linear-gradient(135deg,#ffffff06,#00000014),color-mix(in srgb,var(--accent) 5%,var(--card-black));box-shadow:0 30px 70px #00000057,inset 0 0 0 8px #b99a5b09}.inspiration-card:before{content:"";position:absolute;inset:var(--card-frame-inset);border:1px solid color-mix(in srgb,var(--accent) 36%,transparent);pointer-events:none}.inspiration-card:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(115deg,rgba(255,255,255,.028) 0 1px,transparent 1px 7px),radial-gradient(circle at 50% 42%,transparent 0 47%,rgba(0,0,0,.16) 82%);opacity:.52;mix-blend-mode:soft-light}.card-corner{position:absolute;z-index:1;width:34px;height:34px;pointer-events:none;color:color-mix(in srgb,var(--accent) 78%,var(--gold))}.card-corner:before,.card-corner:after{content:"";position:absolute;background:currentColor;opacity:.76}.card-corner:before{width:25px;height:1px;top:0;left:0}.card-corner:after{width:1px;height:25px;top:0;left:0}.top-left{top:20px;left:20px}.top-right{top:20px;right:20px;transform:rotate(90deg)}.bottom-right{right:20px;bottom:20px;transform:rotate(180deg)}.bottom-left{left:20px;bottom:20px;transform:rotate(270deg)}.card-topline{position:relative;z-index:1;display:flex;justify-content:space-between;gap:14px;color:var(--gold-dim);font:500 9px Georgia,Times New Roman,serif;letter-spacing:.16em;text-transform:uppercase}.card-id{opacity:.48}.card-seal{position:relative;z-index:1;display:grid;place-items:center;width:32px;height:32px;margin:26px auto 0;color:var(--gold);border:1px solid rgba(185,154,91,.35);border-radius:50%;font-size:11px}.card-copy{flex:1;display:flex;align-items:center;justify-content:center;min-height:168px;margin:8px 4px 14px;position:relative;z-index:1;text-align:center}.card-copy h2{max-width:94%;margin:0;color:var(--text-light);font-size:clamp(23px,6.4vw,36px);line-height:1.32;letter-spacing:-.035em;font-weight:600;text-shadow:0 1px 0 rgba(0,0,0,.28)}.reveal-veil{position:relative;z-index:1;min-height:178px;margin:0 8px 16px;padding:22px 21px 20px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,rgba(185,154,91,.22));border-radius:2px;background:radial-gradient(circle at 18% 12%,color-mix(in srgb,var(--accent) 14%,transparent),transparent 45%),linear-gradient(135deg,#e7ddc80b,#0000001f);box-shadow:inset 0 0 0 1px #00000038,0 -1px #ffffff06}.reveal-veil:before{content:"";position:absolute;top:9px;right:9px;bottom:9px;left:9px;border:1px solid rgba(185,154,91,.11);pointer-events:none}.reveal-content{position:relative;z-index:1;min-height:134px;display:flex;align-items:center;opacity:.1;transform:translateY(8px);filter:blur(2px);transition:opacity .46s ease,transform .46s ease,filter .46s ease}.reveal-veil.revealed .reveal-content{opacity:1;transform:none;filter:none}.reveal-content>p{max-width:100%;margin:0;color:var(--text-muted);font-size:14px;line-height:1.9;letter-spacing:.018em;text-align:left}.veil-cover{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;width:100%;height:100%;cursor:grab;touch-action:none;transition:opacity .45s ease}.veil-cover:active{cursor:grabbing}.reveal-veil.revealed .veil-cover{opacity:0;pointer-events:none}.veil-hint{position:absolute;z-index:3;left:50%;bottom:14px;transform:translate(-50%);padding:8px 13px;border:1px solid rgba(43,36,25,.18);border-radius:999px;background:#e7ddc8b8;color:var(--text-dark);font-size:11px;letter-spacing:.08em;cursor:pointer;box-shadow:0 8px 30px #0000002e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.card-actions{width:100%;max-width:var(--content-max);display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0 auto 10px}.card-actions button{height:50px;display:flex;justify-content:center;align-items:center;gap:8px;border:1px solid rgba(185,154,91,.3);border-radius:2px;background:#171510d1;color:var(--muted);cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.card-actions button:hover,.card-actions button.active{color:var(--text-light);border-color:#b99a5b94;background:#b99a5b14}.draw-result .primary-button,.detail-page .primary-button{max-width:var(--content-max);margin-left:auto;margin-right:auto}.detail-page .inspiration-card,.share-page .inspiration-card{margin-top:28px}.share-page .inspiration-card{aspect-ratio:4 / 5;min-height:auto}.share-page .reveal-veil{min-height:150px}.share-page .veil-cover,.share-page .veil-hint{display:none}.filter-row{display:flex;gap:8px;margin:22px -20px 25px;padding:0 20px 8px;overflow-x:auto;scrollbar-width:none}.filter-row::-webkit-scrollbar{display:none}.filter-row button{flex:0 0 auto;padding:8px 13px;border:1px solid rgba(185,154,91,.25);border-radius:30px;background:transparent;color:var(--muted);font-size:11px;cursor:pointer}.filter-row button.active{background:#b99a5b29;color:var(--text-light);border-color:#b99a5b8c}.favorite-list{display:grid;gap:9px}.favorite-list button{position:relative;min-height:142px;padding:18px 48px 18px 18px;border:1px solid rgba(185,154,91,.22);border-left:2px solid var(--accent);border-radius:2px;background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 7%,#171510),#11100e);text-align:left;cursor:pointer}.favorite-list button>span{color:var(--gold-dim);font:500 9px Georgia,serif;letter-spacing:.13em;text-transform:uppercase}.favorite-list strong{display:block;margin:14px 0 8px;color:var(--text-light);font-size:20px;font-weight:500}.favorite-list p{margin:0;color:#d7c7a3a8;font-size:11px;line-height:1.65}.favorite-list svg{position:absolute;right:17px;top:50%;transform:translateY(-50%);color:var(--gold-dim)}.empty-state{min-height:65svh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#d7c7a380}.empty-state h2{margin:25px 0 9px;color:var(--text-light);font-size:20px;font-weight:500}.empty-state p{max-width:240px;margin:0 0 30px;font-size:12px;line-height:1.8}.empty-state .primary-button{width:180px}.share-note{margin:25px 0 -8px;color:var(--muted);text-align:center;font-size:11px}.toast{position:fixed;z-index:5;left:50%;bottom:calc(28px + env(safe-area-inset-bottom));transform:translate(-50%);padding:11px 17px;border:1px solid rgba(185,154,91,.35);border-radius:2px;background:#211b12;color:var(--text-light);font-size:12px;box-shadow:0 12px 40px #00000059}.landscape-notice{display:none;position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;place-items:center;padding:22px;background:radial-gradient(circle at 50% 40%,rgba(185,154,91,.12),transparent 34%),#070705db;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.landscape-card{width:min(100%,340px);padding:28px 24px 24px;border:1px solid rgba(185,154,91,.36);background:radial-gradient(circle at 50% 0%,rgba(185,154,91,.13),transparent 46%),linear-gradient(145deg,#171510,#0f0e0c);box-shadow:0 28px 80px #00000085,inset 0 0 0 6px #b99a5b08;text-align:center}.landscape-card span{color:var(--gold-dim);font:500 9px Georgia,Times New Roman,serif;letter-spacing:.22em}.landscape-card h2{margin:12px 0 10px;color:var(--text-light);font-size:26px;font-weight:500}.landscape-card p{margin:0 0 22px;color:var(--muted);font-size:12px;line-height:1.8}.landscape-card button{width:100%;height:46px;border:1px solid rgba(185,154,91,.52);border-radius:2px;background:#b99a5b1a;color:var(--text-light);cursor:pointer}.layout-rulers{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none}.layout-rulers span{position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.ruler-shell{width:min(100%,var(--page-max));border-left:1px solid rgba(255,85,105,.85);border-right:1px solid rgba(255,85,105,.85)}.ruler-content{width:min(calc(100% - var(--page-pad) * 2),calc(var(--page-max) - var(--page-pad) * 2));border-left:1px solid rgba(104,190,255,.8);border-right:1px solid rgba(104,190,255,.8)}.ruler-card{width:min(calc(100% - var(--page-pad) * 2),var(--content-max));border-left:1px dashed rgba(255,214,102,.85);border-right:1px dashed rgba(255,214,102,.85)}.ruler-center{width:0;border-left:1px solid rgba(132,255,164,.75)}.admin-hero{padding:38px 2px 24px;text-align:center}.admin-hero h1{margin:12px 0 10px;color:var(--text-light);font-size:32px;font-weight:500;letter-spacing:-.04em}.admin-hero p{max-width:310px;margin:0 auto;color:var(--muted);font-size:12px;line-height:1.8}.admin-panel{margin-bottom:16px;padding:16px;border:1px solid rgba(185,154,91,.24);background:#11100e9e;box-shadow:inset 0 0 0 1px #0003}.admin-stats{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.admin-stats strong,.admin-stats span{padding:7px 9px;border:1px solid rgba(185,154,91,.22);color:var(--muted);font-size:11px}.admin-stats strong{color:var(--text-light);border-color:#b99a5b6b}.admin-actions{display:grid;gap:8px}.admin-actions button{min-height:44px;border:1px solid rgba(185,154,91,.36);background:#b99a5b14;color:var(--text-light);cursor:pointer}.admin-errors{margin-top:12px;padding:12px;border:1px solid rgba(160,82,82,.45);background:#50181847;color:#f0c7b8;font-size:12px;line-height:1.6}.admin-errors strong{display:block;margin-bottom:6px}.admin-errors p{margin:4px 0}.admin-search{width:100%;height:44px;margin:0 0 14px;padding:0 13px;border:1px solid rgba(185,154,91,.26);border-radius:0;background:#0000002e;color:var(--text-light);font:inherit}.admin-search::placeholder{color:#d7c7a36b}.admin-list{display:grid;gap:9px}.admin-list article{padding:14px;border:1px solid rgba(185,154,91,.2);border-left:2px solid var(--accent);background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 6%,#171510),#11100e)}.admin-list article>span{color:var(--gold-dim);font:500 9px Georgia,serif;letter-spacing:.12em;text-transform:uppercase}.admin-list strong{display:block;margin:9px 0 6px;color:var(--text-light);font-size:18px;font-weight:500}.admin-list p{margin:0 0 8px;color:#d7c7a3b8;font-size:12px;line-height:1.65}.admin-list small{color:#d7c7a373;font-size:10px}@media(min-width:700px){body{background:#070705}.app-shell{width:var(--page-max);min-height:100svh;margin:0 auto;box-shadow:0 0 90px #000000b8}}@media(orientation:landscape)and (max-height:520px){.app-shell:not(.landscape-allowed) .landscape-notice{display:grid}}@media(max-width:370px){.page{padding-left:15px;padding-right:15px}.deck-tile{min-height:205px;padding:14px}.deck-tile p{font-size:10px}.inspiration-card{--card-pad: 22px}.card-copy h2{font-size:clamp(24px,7vw,36px)}}@media(prefers-reduced-motion:no-preference){.page{animation:page-in .28s ease both}.inspiration-card{animation:card-in .5s cubic-bezier(.2,.8,.2,1)}@keyframes page-in{0%{opacity:.65}to{opacity:1}}@keyframes card-in{0%{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}}
