@charset "UTF-8";
:root{--page:#f3f0e9;--ink:#514d49;--muted:#827b76;--accent:#647e72;--rule:#b6ada22d;--serif:"Songti SC","STSong","Noto Serif CJK SC",serif;--ui:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color-scheme:light;font-family:var(--ui);color:var(--ink);background:var(--page);font-synthesis:none}
:root[data-theme="dark"]{--page:#27272c;--ink:#e6e0d7;--muted:#b2a8ad;--accent:#b1ccc1;--rule:#d2c6b327;color-scheme:dark}
*{box-sizing:border-box;scrollbar-width:none}*::-webkit-scrollbar{display:none}body{margin:0;min-height:100dvh;background:radial-gradient(ellipse at 8% 30%,#d8ece348,transparent 62%),radial-gradient(ellipse at 95% 35%,#ead0dc36,transparent 65%)}body:before{content:"";position:fixed;inset:9px;border:1px solid #ffffff65;border-radius:23px;pointer-events:none;z-index:-1}:root[data-theme="dark"] body:before{border-color:#ffffff0b}button,a,input{font:inherit}button{border:0;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,summary:focus-visible{outline:1px solid var(--accent);outline-offset:4px}svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}.svg-defs{position:absolute;width:0;height:0;overflow:hidden}.dialog-open{overflow:hidden}.site-header{max-width:1080px;margin:16px auto 0;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:15px;border:1px solid #fffc;border-radius:17px;background:linear-gradient(125deg,#fff9,#fff3);box-shadow:inset 0 1px #fff8;min-height:62px}.wordmark{text-decoration:none;display:flex;align-items:center;gap:20px;font:24px/1 Didot,"Bodoni 72",serif;letter-spacing:3.5px}.wordmark span{font:9px/1 var(--ui);letter-spacing:2px;color:var(--muted);padding-left:20px;border-left:1px solid var(--rule)}.header-tools{display:flex;align-items:center;gap:12px}.local-tag{font-size:10px;letter-spacing:1px;color:var(--muted)}.icon-button{width:38px;height:38px;padding:0;display:grid;place-items:center;border-radius:50%}.icon-button svg{width:16px;height:16px}.icon-button:hover{background:#889b870c}.preview-notice{max-width:1080px;margin:14px auto 0;padding:12px 17px;display:flex;align-items:flex-start;gap:11px;border:1px solid var(--rule);border-radius:12px;background:#fff3}.preview-notice>span{font-size:8px;white-space:nowrap;color:var(--muted);padding:4px 7px;border:1px solid var(--rule);border-radius:4px}.preview-notice strong{font:400 11px/1.7 var(--ui);letter-spacing:.3px}.preview-notice p{font:9px/1.7 var(--ui);color:var(--muted);margin:3px 0 0}.app-toolbar{max-width:1060px;margin:20px auto 0;display:flex;align-items:center;justify-content:space-between;gap:18px}.app-nav,.study-nav{display:flex;gap:4px;padding:4px;border:1px solid #fffa;border-radius:14px;background:#ffffff32;box-shadow:inset 0 1px #fff5}.app-nav button,.study-nav button{min-height:35px;padding:0 22px;border-radius:10px;font-size:11px;letter-spacing:2px;color:var(--muted)}.app-nav button[aria-current],.study-nav button[aria-pressed="true"]{background:linear-gradient(120deg,#ffffffcc,#c6dad238);color:var(--ink);box-shadow:0 3px 12px #78607106,inset 0 1px #fff9}.collection-wallet{display:flex;gap:23px;align-items:baseline;font-size:10px;color:var(--muted);flex-wrap:wrap}.collection-wallet b{font:22px/1.2 Didot,serif;color:var(--ink);font-weight:400;margin-left:8px;font-variant-numeric:tabular-nums}.collection-wallet small{font-size:9px}.app-main{max-width:1060px;margin:0 auto}.pool-layout{display:grid;grid-template-columns:minmax(0,410px) minmax(0,360px);justify-content:space-around;gap:70px;align-items:center;padding:29px 26px 25px}.pool-display{min-width:0;max-width:370px;width:100%;justify-self:center}.card-open{display:block;padding:0;width:100%;border-radius:10px;cursor:zoom-in}.art-slot{width:100%;aspect-ratio:5/7;position:relative;background:linear-gradient(135deg,#f4f1e880,#dbe5db40);border-radius:10px;isolation:isolate}.art-slot:empty{box-shadow:inset 0 0 0 1px var(--rule)}.art-slot:empty:after{content:"VENUS LAB";position:absolute;inset:0;display:grid;place-items:center;color:var(--muted);font:11px/1 Didot,serif;letter-spacing:3px}.display-caption{text-align:center;margin:19px 0 0;font:14px/1.7 var(--serif);letter-spacing:1.8px}.display-caption span{font:8px/1.5 var(--ui);color:var(--muted);letter-spacing:1.4px;display:block;margin-top:4px}.pool-panel{min-width:0;padding:23px 0}.eyebrow{font:8px/1.6 var(--ui);letter-spacing:2.3px;color:var(--muted)}h1{font:400 36px/1.4 var(--serif);letter-spacing:3px;margin:14px 0 12px}.pool-intro{color:var(--muted);font-size:12px;letter-spacing:.6px;margin:0 0 29px;line-height:1.9}.rarity-line{display:flex;align-items:center;gap:14px;padding:0 0 18px;border-bottom:1px solid var(--rule)}.rarity-line span{font:italic 22px/1.3 Didot,"Times New Roman",serif;color:var(--accent);min-width:34px}.pool-copy{font:11px/2 var(--ui);color:var(--muted);margin:18px 0 22px;max-width:27em}.draw-actions{display:flex;gap:10px}.primary-button,.secondary-button{height:43px;padding:0 20px;border-radius:11px;border:1px solid #ffffffe0;display:inline-flex;align-items:center;justify-content:center;gap:20px;font:11px/1 var(--ui);letter-spacing:.8px;white-space:nowrap;background:linear-gradient(125deg,#fff8,#d7e5de50);color:var(--accent);box-shadow:inset 0 1px #fffb,0 6px 16px #6e646014}.secondary-button{background:#ffffff25;color:var(--muted);box-shadow:inset 0 1px #fff4}.primary-button:hover,.secondary-button:hover{border-color:#cadacf;box-shadow:inset 0 1px #fff,0 4px 16px #6e64601d}.draw-actions button{flex:1}.draw-actions button span{font:12px/1 Didot,serif;opacity:.6}.demo-note{font-size:9px;letter-spacing:.7px;color:var(--muted);margin:12px 0 0}.text-button{font:10px/1.5 var(--ui);color:var(--muted);min-height:38px;padding:0;letter-spacing:.5px}.text-button:hover{color:var(--ink)}.pool-rules{margin-top:24px;border-top:1px solid var(--rule);padding-top:15px;font-size:10px;color:var(--muted)}summary{cursor:pointer;list-style:none;line-height:1.8;letter-spacing:.6px}summary:after{content:"＋";float:right;font-size:12px}details[open]>summary:after{content:"−"}.pool-rules p{font:10px/1.9 var(--ui);margin:12px 0 0}.page-footer{display:flex;justify-content:space-between;gap:16px;max-width:1080px;margin:15px auto 0;padding:18px 15px 27px;border-top:1px solid var(--rule);font:8px/1.5 var(--ui);letter-spacing:1.4px;color:var(--muted)}
/* Card base. Edition-specific positions live in card-editions.css. */
.card{position:relative;isolation:isolate;width:100%;aspect-ratio:5/7;overflow:hidden;container-type:inline-size;border-radius:3.1% / 2.2143%;background:#eee9df;transition:box-shadow .4s}.card-paper{position:absolute;inset:0}.card-paper:after{content:"";position:absolute;inset:0;filter:url(#paper-grain)}.card-brand{position:absolute;text-align:center;line-height:1.3}.dress-window{position:absolute;overflow:hidden}.garment{position:absolute;left:50%;transform:translateX(-50%);object-fit:contain;max-width:none}.card-name{position:absolute;display:flex;align-items:center;flex-direction:column;line-height:1}.card-edition{position:absolute;display:flex;justify-content:center;align-items:center}.card-edition i{height:1px;background:linear-gradient(90deg,transparent,var(--card-muted))}.card-edition i:last-child{transform:rotate(180deg)}.card-category svg{display:block;width:100%;height:100%}.card-loading{position:absolute;inset:0;z-index:20;display:grid;place-items:center;background:linear-gradient(132deg,#f1eee5,#e3e9e0 50%,#f5eee4);color:#8b8a7d;transition:opacity .4s;pointer-events:none}.card-loading:before{content:"";position:absolute;inset:4%;border:1px solid #b6bdad4d;border-radius:1cqw}.card-loading span{font:2.8cqw/1.6 var(--ui);letter-spacing:.8cqw;text-align:center;padding-left:.8cqw}.card[data-ready="loading"]>:not(.card-loading),.card[data-ready="error"]>:not(.card-loading){visibility:hidden!important}.card[data-ready="true"]>.card-loading{opacity:0;visibility:hidden}.card[data-ready="true"]{animation:print-appear .38s ease-out both}.card[data-ready="error"]>.card-loading span{letter-spacing:.3cqw}.rarity-seal{position:absolute;left:13.3%;top:11.8%;width:4.6%;z-index:8;font:italic 4cqw/1 Didot,serif;color:var(--card-ink);text-align:center;text-shadow:0 1px #fff8}.card[data-rarity]:not([data-rarity=""]) .series-mark{opacity:0}.app-status{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);z-index:99;background:var(--page);border:1px solid var(--rule);box-shadow:0 5px 30px #302b251a;padding:12px 20px;border-radius:12px;font:11px/1.8 var(--ui);width:max-content;max-width:calc(100% - 32px)}
.collection-view,.gallery-view{padding:31px 20px 28px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section-heading h1{margin-bottom:0}.section-heading p{font:12px/1.6 var(--ui);color:var(--muted)}.rarity-collection{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.collection-style{border:1px solid #fffb;border-radius:17px;padding:24px 19px;background:linear-gradient(135deg,#ffffff60,#e0e7df20);min-width:0}.collection-style-heading h2{font:400 20px/1.5 var(--serif);letter-spacing:1.7px;margin:0}.collection-style-heading>span{font:8px/1.6 var(--ui);letter-spacing:1.4px;color:var(--muted)}.rarity-holdings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:23px}.rarity-holding{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 9px;border:1px solid var(--rule);border-radius:8px;text-align:left}.rarity-holding strong{font:italic 20px/1 Didot,serif;font-weight:400}.rarity-holding span{font:9px/1.2 var(--ui);color:var(--muted)}.rarity-holding[data-owned="true"]{background:#e4eee44d;border-color:#96ad9b4d}.empty-note{font-size:11px;color:var(--muted);margin:30px 0;text-align:center;line-height:1.8}.gallery-heading{text-align:center;margin-bottom:25px}.gallery-heading h1{margin-top:8px}.gallery-heading>p{font:11px/1.8 var(--ui);letter-spacing:.5px;color:var(--muted);margin:0}.study-nav{margin:20px auto 0;width:fit-content}.study-nav button{font-size:10px;letter-spacing:1px}.study-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}.study-grid[data-mode="craft"]{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.study-example{margin:0;min-width:0;text-align:center}.palette-card-button{display:block;width:100%;padding:0;border-radius:10px;cursor:zoom-in}.study-example figcaption{font:16px/1.5 var(--serif);letter-spacing:2px;margin-top:19px}.gallery-motion-controls .motion-hint{font-size:9px!important;max-width:34em}
dialog{border:1px solid #fff9;border-radius:18px;background:var(--page);color:var(--ink);padding:22px;max-height:calc(100dvh - 30px);box-shadow:0 25px 80px #21211e33}dialog::backdrop{background:#302c3299;backdrop-filter:blur(10px)}.detail-dialog{background:none;border:0;box-shadow:none;padding:24px 18px 15px;overflow:visible;width:min(580px,calc((100dvh - 100px)*5/7 + 36px));max-width:calc(100% - 24px)}.detail-dialog>.close-button{position:absolute;right:-3px;top:-16px;color:#fff7ed}.detail-dialog:has(.motion-toggle:not([hidden])){width:min(560px,calc((100dvh - 190px)*5/7 + 36px))}.detail-dialog .art-slot{background:none}.detail-dialog .motion-hint{color:#f2ece7cb}.rarity-dialog{width:min(510px,calc(100% - 28px));padding:16px 25px 19px;overflow:auto;background:linear-gradient(135deg,var(--page),color-mix(in srgb,var(--page),#b9d4c7 8%))}.draw-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.draw-dialog-header h2{font:400 17px/1.6 var(--serif);letter-spacing:2px;margin:0}.draw-stage{position:relative;width:min(100%,calc((100dvh - 270px)*5/7));aspect-ratio:5/7;margin:12px auto 0;perspective:1000px;min-height:140px}.letter-scene{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;transition:opacity .3s}.draw-orbit{position:absolute;width:78%;aspect-ratio:1;border:1px solid #b1b49b4d;border-radius:50%;transform:rotate(-28deg) scaleY(.6);box-shadow:0 0 55px #d8e1c533,inset 0 0 40px #dce2c53b}.wish-letter{position:relative;width:84%;aspect-ratio:1.4;border-radius:6px;background:linear-gradient(130deg,#fff9ee,#e9ece2);border:1px solid #d4cdbb;box-shadow:0 15px 40px #484a3e26;transform:rotate(-6deg);display:grid;place-items:center;color:#8a8979;overflow:hidden}.wish-letter:before,.wish-letter:after{content:"";position:absolute;inset:auto -10% 0;height:70%;border:1px solid #d3cfbc55;background:#f6f1e5;transform:rotate(27deg);transform-origin:left bottom}.wish-letter:after{transform:rotate(-27deg);transform-origin:right bottom}.wish-letter i{position:absolute;inset:0 0 40%;background:linear-gradient(145deg,#fffaf0,#e5e6dc);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top;z-index:3}.wish-letter>span{position:absolute;bottom:14%;z-index:4;font:10px/1.5 Didot,serif;letter-spacing:3px}.letter-seal{position:absolute;top:36%;left:41%;width:18%;aspect-ratio:1;background:url('./assets/optimized-v18/rococo-lace-planet-v18.webp') center/contain no-repeat;z-index:4}.draw-card-frame{opacity:0;transform:rotateY(-88deg) scale(.94);position:absolute;inset:0;background:none;pointer-events:none}.draw-stage[data-phase="opening"] .wish-letter{animation:letter-arrive 1.1s cubic-bezier(.2,.65,.2,1) both}.draw-stage[data-phase="opening"] .wish-letter i{animation:letter-open .8s .3s both}.draw-stage[data-phase="opening"] .draw-orbit{animation:orbit-light 1.2s ease-out both}.draw-stage[data-phase="revealed"] .letter-scene{opacity:0}.draw-stage[data-phase="revealed"] .draw-card-frame{opacity:1;transform:none;pointer-events:auto;animation:card-unseal .65s cubic-bezier(.16,.7,.2,1) both}.draw-stage[data-phase="loading"] .wish-letter{transform:none}.draw-phase-label{font:10px/1.6 var(--ui);color:var(--muted);text-align:center;min-height:16px;margin:12px 0 0;letter-spacing:.6px}.draw-result-copy{text-align:center;margin-top:9px}.draw-result-title{display:flex;justify-content:center;align-items:center;gap:12px}.draw-result-title h3{font:400 20px/1.5 var(--serif);letter-spacing:2px;margin:0}.rarity-pill{font:italic 17px/1 Didot,serif;color:var(--accent)}.rarity-pill[data-rarity="UR"]{color:#a88783}.draw-result-copy p{font:10px/1.8 var(--ui);color:var(--muted);margin:5px 0 0}.draw-bottom{margin-top:14px;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px}.draw-bottom>span{font:11px/1.5 Didot,serif;color:var(--muted);letter-spacing:1.5px}.draw-bottom .primary-button{height:36px;font-size:10px}.draw-stage[data-phase="revealed"] .card .craft-foil:after{opacity:.55;animation:reveal-light 1.2s both}
:root[data-theme="dark"] :is(.site-header,.app-nav,.study-nav,.collection-style){border-color:#ffffff15;background:linear-gradient(130deg,#ffffff08,#bbd1c807);box-shadow:inset 0 1px #ffffff07}:root[data-theme="dark"] :is(.app-nav button[aria-current],.study-nav button[aria-pressed="true"]){background:#bacfc51a;box-shadow:inset 0 1px #ffffff14}:root[data-theme="dark"] .preview-notice{background:#ffffff04}:root[data-theme="dark"] :is(.primary-button,.secondary-button){background:linear-gradient(125deg,#ffffff10,#abc7ba1c);border-color:#d7e3d92b;box-shadow:inset 0 1px #ffffff12}:root[data-theme="dark"] .card-loading{background:linear-gradient(135deg,#35463f,#3c3c44);color:#c5c3b3}:root[data-theme="dark"] .rarity-holding[data-owned="true"]{background:#aec8ba12}
@keyframes print-appear{from{opacity:0}to{opacity:1}}@keyframes letter-arrive{0%{transform:translateY(22px) rotate(-6deg) scale(.94);opacity:0}35%{opacity:1}100%{transform:translateY(-5px) rotate(0) scale(1)}}@keyframes letter-open{to{transform:rotateX(170deg)}}@keyframes orbit-light{0%{opacity:.2;transform:rotate(-28deg) scaleY(.6) scale(.85)}70%{opacity:1;box-shadow:0 0 60px #dce8cb88}100%{transform:rotate(14deg) scaleY(.6)}}@keyframes card-unseal{from{opacity:0;transform:rotateY(-75deg) scale(.96) translateY(10px)}to{opacity:1;transform:none}}@keyframes reveal-light{from{opacity:.8}to{opacity:0}}
@media(max-width:1120px){.site-header,.preview-notice{margin-left:24px;margin-right:24px}.app-toolbar{margin-left:35px;margin-right:35px}.app-main{padding:0 20px}.pool-layout{gap:45px}.page-footer{margin-left:25px;margin-right:25px}}
@media(max-width:740px){.site-header{margin:13px 16px 0;padding:7px 14px;min-height:52px;border-radius:14px}.wordmark{font-size:20px;letter-spacing:3px}.wordmark span{display:none}.local-tag{font-size:9px}.header-tools{gap:6px}.icon-button{width:32px;height:32px}.preview-notice{margin:12px 18px 0;padding:10px 11px;gap:8px}.preview-notice strong{font-size:10px}.preview-notice p{font-size:9px}.preview-notice>span{padding:3px 5px;font-size:7px}.app-toolbar{margin:15px 20px 0;align-items:center;gap:12px}.app-nav button{padding:0 14px;min-height:34px;font-size:10px;letter-spacing:1px}.collection-wallet{gap:10px;font-size:8px;justify-content:end}.collection-wallet b{font-size:18px;margin-left:4px}.collection-wallet small{font-size:8px;flex-basis:100%;text-align:right}.app-main{padding:0 16px}.pool-layout{padding:23px 9px 14px;gap:18px;grid-template-columns:minmax(0,1fr)}.pool-display{max-width:240px}.pool-panel{max-width:390px;width:100%;margin:auto;padding:8px 9px 10px}.display-caption{display:none}.pool-panel>.eyebrow{font-size:7px}.pool-panel h1{font-size:28px;margin:8px 0}.pool-intro{font-size:10px;margin-bottom:16px}.rarity-line{gap:16px;padding-bottom:12px}.rarity-line span{font-size:20px}.pool-copy{font-size:10px;margin:12px 0 16px;max-width:none}.draw-actions{gap:9px}.primary-button,.secondary-button{height:41px;font-size:11px;padding:0 17px}.demo-note{font-size:8px;margin-top:10px}.pool-rules{margin-top:16px;padding-top:12px}.pool-rules p{font-size:9px}.pool-rules summary{font-size:9px}.gallery-view,.collection-view{padding:25px 5px}.gallery-heading h1,h1{font-size:26px;letter-spacing:2px}.gallery-heading>.eyebrow{font-size:7px}.gallery-heading>p{font-size:10px}.study-nav{margin-top:17px}.study-grid{grid-template-columns:minmax(0,1fr);gap:32px;max-width:350px;margin:auto}.study-grid[data-mode="craft"]{grid-template-columns:repeat(2,minmax(0,1fr));gap:23px 14px;max-width:none}.study-example figcaption{font-size:15px;margin-top:15px}.study-grid[data-mode="craft"] figcaption{font-size:14px}.rarity-collection{grid-template-columns:1fr;gap:15px}.collection-style{padding:20px 18px}.rarity-holdings{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:16px}.rarity-holding{display:flex;flex-direction:column;gap:9px;padding:13px 4px}.rarity-holding strong{font-size:20px}.rarity-holding span{font-size:9px}.section-heading{margin-bottom:20px}.section-heading h1{font-size:26px}.section-heading p{font-size:10px}.collection-style-heading h2{font-size:19px}.detail-dialog{max-width:calc(100% - 20px);padding:22px 10px 12px;width:min(calc(100% - 20px),calc((100dvh - 90px)*5/7 + 20px))}.detail-dialog:has(.motion-toggle:not([hidden])){width:min(calc(100% - 20px),calc((100dvh - 192px)*5/7 + 20px))}.rarity-dialog{padding:11px 18px 16px}.draw-dialog-header h2{font-size:15px}.draw-stage{width:min(100%,calc((100dvh - 260px)*5/7));margin-top:6px}.draw-result-title h3{font-size:18px}.draw-result-copy p{font-size:9px}.page-footer{margin:15px 20px 0;padding:17px 0 25px;font-size:7px;letter-spacing:.9px}}
@media(max-width:355px){.app-toolbar{margin-inline:18px}.app-nav button{padding:0 10px}.collection-wallet{gap:7px;font-size:7px}.collection-wallet b{font-size:16px}.pool-display{max-width:215px}.preview-notice p{font-size:8px}.draw-stage{width:min(100%,calc((100dvh - 255px)*5/7))}.draw-actions button{padding:0 13px;gap:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.draw-card-frame{transform:none}.card[data-ready="true"]>:not(.card-loading){animation:none}}
@media(forced-colors:active){body{background:Canvas}.card{border:1px solid CanvasText}.primary-button,.secondary-button,.app-nav,.site-header,.preview-notice{border:1px solid ButtonText}.letter-scene{display:none}.card-loading{background:Canvas;color:CanvasText}.rarity-seal{color:CanvasText}.app-status{border:1px solid CanvasText}}
