:root{--night-950:#0b1235;--night-900:#111d49;--night-800:#243874;--blue-soft:#7593d0;--paper:#fff0d8;--paper-deep:#e9c9a6;--pink:#ed94ac;--pink-light:#ffc5cf;--coral:#e96f78;--ink:#182551}*{box-sizing:border-box}html,body{min-height:100%}body{background:var(--night-950);color:var(--paper);margin:0;font-family:Microsoft YaHei,PingFang SC,sans-serif}button,input,textarea,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.projection-stage{isolation:isolate;background:radial-gradient(circle at 50% 30%,#8286d23d,#0000 30%),linear-gradient(#172b66 0%,#14214e 48%,#0a1233 100%);grid-template-rows:auto 1fr auto auto;min-height:100dvh;display:grid;position:relative;overflow:hidden}.projection-stage:before{z-index:20;pointer-events:none;content:"";opacity:.12;mix-blend-mode:soft-light;background-image:repeating-radial-gradient(circle at 12% 18%,#fff 0 .7px,#0000 .8px 4px),repeating-linear-gradient(97deg,#0000 0 3px,#ffffff17 4px 5px);position:absolute;inset:0}.night-sky,.hills,.shop-scene,.leaf-frame{pointer-events:none;position:absolute}.night-sky{z-index:-5;inset:0}.moon,.moon-halo{border-radius:50%;position:absolute;top:15vh;left:50%;transform:translate(-50%)}.moon-halo{aspect-ratio:1;filter:blur(8px);background:radial-gradient(circle,#ffe6e270,#f4b2c81c 50%,#0000 72%);width:clamp(210px,20vw,440px)}.moon{z-index:1;aspect-ratio:1;background:radial-gradient(circle at 64% 32%,#dfb7b061 0 9%,#0000 10%),radial-gradient(circle at 34% 66%,#dfb7b047 0 12%,#0000 13%),#fff2df;width:clamp(112px,10vw,240px);margin-top:clamp(48px,5vw,104px);box-shadow:0 0 38px #ffcdd78c}.star{background:#fff2df;border-radius:50%;width:4px;height:4px;position:absolute;box-shadow:0 0 10px #fff}.star-one{top:13%;left:22%}.star-two{width:2px;height:2px;top:23%;left:31%}.star-three{top:17%;right:28%}.star-four{width:3px;height:3px;top:29%;right:19%}.star-five{width:2px;height:2px;top:9%;right:40%}.cloud{filter:blur(1px);background:#a4abdb21;border-radius:50%;width:33vw;height:8vw;min-height:50px;position:absolute}.cloud-one{top:28%;left:-8%;transform:rotate(5deg)}.cloud-two{top:24%;right:-9%;transform:rotate(-7deg)}.hills{z-index:-4;height:34vh;inset:auto 0 21vh;overflow:hidden}.hill{background:#1b2b61;border-radius:50% 50% 0 0;height:100%;position:absolute;inset:auto -10% -42%;transform:rotate(4deg)}.hill-back{background:#344a84;bottom:-48%;left:24%;transform:rotate(-7deg)}.hill-front{background:#16234f;right:35%}.shop-scene{z-index:-3;opacity:.94;width:clamp(210px,23vw,410px);height:clamp(150px,22vh,260px);bottom:13vh;right:clamp(25px,6vw,115px)}.shop-roof{z-index:2;clip-path:polygon(11% 12%,88% 0,100% 100%,0 100%);background:#11183b;border-radius:60% 12% 10% 10%;width:114%;height:26%;position:absolute;top:7%;left:-7%}.shop-body{background:#29315c;border:6px solid #10183a;border-radius:8px 8px 0 0;position:absolute;inset:26% 0 0;box-shadow:0 22px 60px #0006}.shop-window{background:linear-gradient(155deg,#f6b49a,#e98296);border:5px solid #11183b;border-radius:3px;width:24%;height:40%;position:absolute;top:32%;box-shadow:0 0 28px #f4919b75}.window-left{left:8%}.window-right{right:8%}.shop-door{background:#1a2044;border:5px solid #11183b;border-bottom:0;width:20%;height:56%;position:absolute;bottom:0;right:40%}.shop-sign{color:#49304d;letter-spacing:.12em;white-space:nowrap;background:#f1b5a5;border:3px solid #1b2043;border-radius:3px;padding:5px 16px 7px;font-family:STKaiti,KaiTi,serif;font-size:clamp(12px,1vw,18px);position:absolute;top:-25%;left:50%;transform:translate(-50%)rotate(-2deg)}.lantern{z-index:4;background:#f18a8e;border-radius:45%;width:14px;height:22px;position:absolute;top:31%;box-shadow:0 0 20px #ed8a91}.lantern-left{left:-3%}.lantern-right{right:-3%}.leaf-frame{z-index:-1;background:radial-gradient(at 10% 18%,#07102d 0 6%,#0000 7%),radial-gradient(at 23% 12%,#0a1539 0 8%,#0000 9%),radial-gradient(at 34% 24%,#091334 0 7%,#0000 8%),radial-gradient(at 48% 7%,#08112f 0 9%,#0000 10%);border-radius:50%;width:31vw;height:58vh;top:-9%}.leaf-frame-left{left:-10%;transform:rotate(16deg)}.leaf-frame-right{right:-10%;transform:scaleX(-1)rotate(16deg)}.stage-heading{z-index:5;text-align:center;width:min(82vw,1900px);margin-inline:auto;padding:clamp(34px,4.5vh,86px) 24px 0}.eyebrow{color:var(--pink-light);letter-spacing:.34em;margin:0 0 clamp(8px,.7vh,15px);font-size:clamp(13px,.85vw,24px);font-weight:700}.stage-heading h1{color:var(--paper);letter-spacing:.08em;text-shadow:0 5px 28px #080e2ecc;margin:0;font-family:STKaiti,KaiTi,serif;font-size:clamp(58px,6vw,142px);font-weight:700;line-height:1}.stage-subtitle{color:#fff0d8b8;letter-spacing:.08em;margin:clamp(12px,1.2vh,24px) 0 0;font-family:STKaiti,KaiTi,serif;font-size:clamp(16px,1.25vw,32px)}.card-table{z-index:5;place-items:center;min-height:360px;padding:8px 20px;display:grid;position:relative}.table-glow{filter:blur(10px);background:radial-gradient(#e78bac33,#0000 70%);border-radius:50%;width:min(58vw,1320px);height:min(31vw,660px);position:absolute}.card-pile{aspect-ratio:1.45;width:clamp(330px,30vw,680px);position:relative;transform:translate(-2vw,3vh)}.pile-card{aspect-ratio:1.42;width:clamp(190px,17.5vw,400px);color:var(--paper);background:radial-gradient(circle,#0000 0 22%,#ffffff21 23% 24%,#0000 25%),linear-gradient(135deg,#536db0,#c676a1);border:3px solid #f7d7bd;border-radius:clamp(13px,1.2vw,20px);place-items:center;display:grid;position:absolute;top:50%;left:50%;overflow:hidden;box-shadow:0 13px 20px #03071b5c,inset 0 0 0 6px #13204d52}.pile-card:before,.pile-card:after{content:"";border:2px solid #ffecd6b3;width:16px;height:16px;position:absolute;transform:rotate(45deg)}.pile-card:before{top:15px;left:15px}.pile-card:after{bottom:15px;right:15px}.card-back-mark{aspect-ratio:1;border:2px solid #ffefdabd;border-radius:50%;place-items:center;width:clamp(62px,5.6vw,126px);font-family:STKaiti,KaiTi,serif;font-size:clamp(31px,3vw,68px);display:grid;box-shadow:0 0 22px #ffc9d538}.card-back-stars{color:#fff0ddb3;letter-spacing:.25em;font-size:10px;position:absolute;bottom:13%}.pile-card-1{transform:translate(-67%,-65%)rotate(-16deg)}.pile-card-2{transform:translate(-35%,-68%)rotate(13deg)}.pile-card-3{transform:translate(-87%,-34%)rotate(-28deg)}.pile-card-4{transform:translate(-17%,-30%)rotate(27deg)}.pile-card-5{transform:translate(-54%,-18%)rotate(-4deg)}.pile-card-6{transform:translate(-91%,-63%)rotate(-35deg)}.pile-card-7{transform:translate(-11%,-66%)rotate(32deg)}.pile-card-8{transform:translate(-73%,-7%)rotate(-13deg)}.pile-card-9{transform:translate(-27%,-3%)rotate(17deg)}.pile-card-10{transform:translate(-103%,-19%)rotate(-42deg)}.pile-card-11{transform:translate(-2%,-18%)rotate(39deg)}.pile-card-12{transform:translate(-60%,-58%)rotate(4deg)}.pile-card-13{transform:translate(-46%,-44%)rotate(-8deg)}.pile-card-14{transform:translate(-50%,-50%)rotate(2deg)}.stage-actions{z-index:6;justify-content:center;padding:12px 20px clamp(24px,2.8vh,58px);display:flex}.draw-button{color:#fff8eb;cursor:pointer;background:linear-gradient(135deg,#e96f83,#d65d91);border:2px solid #ffe7d8bd;border-radius:999px;place-items:center;min-width:clamp(300px,27vw,590px);min-height:clamp(92px,10vh,158px);padding:clamp(15px,1.4vh,24px) clamp(46px,4vw,92px);transition:transform .18s,filter .18s,box-shadow .18s;display:grid;position:relative;overflow:hidden;box-shadow:0 13px #7e315d,0 22px 48px #04081c73,inset 0 2px #ffffff52}.draw-button:after{border-radius:inherit;content:"";border:1px dashed #ffefdb73;position:absolute;inset:4px}.draw-button:hover{filter:brightness(1.07);transform:translateY(-3px);box-shadow:0 16px #7e315d,0 26px 54px #04081c85,inset 0 2px #ffffff52}.draw-button:active{transform:translateY(8px);box-shadow:0 5px #7e315d,0 14px 32px #04081c6b,inset 0 2px #ffffff52}.draw-button-label{z-index:1;letter-spacing:.15em;font-family:STKaiti,KaiTi,serif;font-size:clamp(34px,2.7vw,62px);font-weight:700;line-height:1}.draw-button-hint{z-index:1;color:#fff3e0b8;letter-spacing:.08em;font-size:clamp(11px,.78vw,18px)}.stage-footnote{z-index:5;color:#ffefd880;letter-spacing:.18em;text-align:center;margin:0;padding:4px 20px clamp(15px,2.5vh,28px);font-family:STKaiti,KaiTi,serif;font-size:clamp(12px,.85vw,19px)}.stage-footnote-record{color:#ffefd8c7;letter-spacing:.06em;text-underline-offset:.25em;font-family:Microsoft YaHei,PingFang SC,sans-serif;text-decoration:none}.stage-footnote-record:hover,.stage-footnote-record:focus-visible{color:var(--paper);text-decoration:underline}.stage-tools{z-index:12;opacity:.24;gap:8px;transition:opacity .18s;display:flex;position:fixed;top:22px;right:24px}.stage-tools:hover,.stage-tools:focus-within{opacity:1}.stage-tools button{color:#fff2ddd1;letter-spacing:.06em;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0a12338a;border:1px solid #fff0da3d;border-radius:999px;align-items:center;gap:6px;padding:7px 11px;font-size:11px;display:inline-flex}.draw-button:disabled{cursor:wait;filter:saturate(.68)}.result-veil{z-index:25;visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(5px)saturate(.75);backdrop-filter:blur(5px)saturate(.75);background:radial-gradient(circle at 50% 46%,#464b8b4d,#0000 36%),#04081ec7;position:fixed;inset:0}.flying-card-shell{z-index:30;visibility:hidden;opacity:0;perspective:1700px;transform-origin:50%;width:min(82vw,3000px);height:min(56vh,1200px);min-height:420px;position:fixed;top:50%;left:50%}.flip-card{width:100%;height:100%;transform-style:preserve-3d;position:relative}.result-face{backface-visibility:hidden;border:clamp(3px,.35vw,6px) solid #f6d6bc;border-radius:clamp(24px,2.2vw,38px);display:grid;position:absolute;inset:0;overflow:hidden;box-shadow:0 34px 80px #0000007a,inset 0 0 0 8px #fff5e11a}.result-back{color:var(--paper);background:radial-gradient(circle,#0000 0 19%,#ffffff21 20% 21%,#0000 22%),repeating-radial-gradient(circle at 18% 26%,#ffffff14 0 .8px,#0000 1px 6px),linear-gradient(135deg,#4c68ad 0%,#5f6cb1 42%,#c474a0 100%);place-items:center}.result-back:before{content:"";border:2px dashed #ffeed780;border-radius:calc(clamp(24px,2.2vw,38px) - 10px);position:absolute;inset:20px}.result-back-mark{aspect-ratio:1;border:3px solid #ffefdbc7;border-radius:50%;place-items:center;width:clamp(120px,10vw,250px);font-family:STKaiti,KaiTi,serif;font-size:clamp(68px,5.4vw,136px);line-height:1;display:grid;box-shadow:0 0 44px #ffc6d847}.result-back-copy{letter-spacing:.22em;font-family:STKaiti,KaiTi,serif;font-size:clamp(16px,1.25vw,30px);position:absolute;bottom:13%}.result-back-corner{font-size:clamp(22px,2.2vw,34px);position:absolute}.corner-top{top:9%;left:7%}.corner-bottom{bottom:9%;right:7%;transform:rotate(180deg)}.result-front{color:var(--ink);background:linear-gradient(165deg,#ffffff5c,#0000 38%),#fff0d8;transform:rotateY(180deg)}.result-front:before,.result-front:after{content:"";border:2px solid #32427a1f;border-radius:50%;width:150px;height:150px;position:absolute}.result-front:before{top:-78px;left:-66px}.result-front:after{bottom:-82px;right:-70px}.paper-fibers{opacity:.15;mix-blend-mode:multiply;pointer-events:none;background-image:repeating-radial-gradient(circle at 14% 21%,#5a3d4d 0 .7px,#0000 .9px 5px),repeating-linear-gradient(93deg,#0000 0 4px,#5e363b21 5px 6px);position:absolute;inset:0}.question-copy{z-index:2;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:clamp(64px,8vh,150px) clamp(60px,8vw,260px);display:flex;position:relative}.question-meta{white-space:nowrap;align-items:center;gap:10px;display:flex;position:absolute;top:clamp(30px,4vh,76px);left:50%;transform:translate(-50%)}.level-badge,.category-badge{letter-spacing:.1em;border-radius:999px;padding:clamp(7px,.55vw,13px) clamp(15px,1.1vw,28px);font-size:clamp(12px,.82vw,22px);font-weight:700}.level-badge{color:#fff8e9;background:#536da7}.category-badge{color:#746279;border:1px solid #2a376833}.question-text{letter-spacing:.035em;text-wrap:balance;width:100%;max-width:2460px;margin:0;font-family:STKaiti,KaiTi,serif;font-weight:700;line-height:1.46}.question-text-xl{font-size:clamp(42px,3.25vw,112px)}.question-text-lg{font-size:clamp(36px,2.75vw,94px)}.question-text-md{font-size:clamp(31px,2.25vw,78px)}.question-text-sm{font-size:clamp(25px,1.85vw,64px)}.question-divider{color:#d16f84;align-items:center;gap:12px;width:min(440px,42%);margin-top:clamp(22px,3.6vh,38px);display:flex}.question-divider span{background:#464e7d38;flex:1;height:1px}.question-prompt{color:#8b7180;letter-spacing:.14em;margin:10px 0 0;font-size:clamp(13px,.95vw,24px)}.question-number{color:#25305e47;letter-spacing:.12em;font-family:Georgia,serif;font-size:clamp(11px,.65vw,18px);position:absolute;bottom:clamp(20px,1.5vw,44px);right:clamp(28px,2vw,60px)}.level-soul .result-front{border-color:#f4b5c3;box-shadow:0 34px 90px #00000080,0 0 44px #ed6f8342,inset 0 0 0 8px #fff5e11f}.level-soul .level-badge{background:linear-gradient(135deg,#b44872,#6f438b)}.result-actions{visibility:hidden;opacity:0;white-space:nowrap;gap:clamp(12px,1vw,26px);display:flex;position:absolute;top:calc(100% + clamp(20px,2.2vh,48px));left:50%;transform:translate(-50%)}.result-actions button{letter-spacing:.08em;cursor:pointer;border-radius:999px;min-height:clamp(52px,5.2vh,92px);padding:clamp(11px,1vh,18px) clamp(26px,2.3vw,62px);font-size:clamp(14px,1.05vw,28px);font-weight:700}.result-action-secondary{color:#fff1dbc2;background:#0e183d9e;border:1px solid #ffefdb47}.result-action-primary{color:#fff8ea;background:linear-gradient(135deg,#e97083,#c95988);border:1px solid #f9d5c2;box-shadow:0 10px 24px #05091f59}.admin-curtain{z-index:50;visibility:hidden;opacity:0;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0407189e;border:0;transition:opacity .24s,visibility .24s;position:fixed;inset:0}.admin-curtain.is-open{visibility:visible;opacity:1}.admin-drawer{z-index:60;color:#e9ebf5;visibility:hidden;background:linear-gradient(#ffffff08,#0000 20%),#111936;width:min(570px,100vw);height:100dvh;padding:28px clamp(20px,4vw,38px) 44px;transition:transform .32s cubic-bezier(.22,.75,.2,1),visibility .32s;position:fixed;top:0;right:0;overflow:hidden auto;transform:translate(102%);box-shadow:-30px 0 80px #0000006b}.admin-drawer.is-open{visibility:visible;transform:translate(0)}.admin-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.admin-header p{color:#e492a7;letter-spacing:.3em;margin:0 0 5px;font-size:10px;font-weight:800}.admin-header h2{letter-spacing:.08em;margin:0;font-family:STKaiti,KaiTi,serif;font-size:34px}.admin-header>button{color:#d8dced;cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;width:38px;height:38px;font-size:28px;line-height:1}.weight-panel{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px;display:grid}.weight-card{background:#ffffff0a;border:1px solid #ffffff14;border-radius:15px;gap:3px;min-width:0;padding:14px;display:grid}.weight-card span{color:#ecedf6a6;font-size:11px}.weight-card strong{font-family:Georgia,serif;font-size:28px}.weight-card small{color:#ecedf66e;font-size:10px}.weight-mellow strong{color:#eab2c0}.weight-deep strong{color:#9eafe3}.weight-soul strong{color:#ed7f98}.question-form,.question-library{background:#ffffff0a;border:1px solid #ffffff17;border-radius:20px}.question-form{gap:15px;padding:20px;display:grid}.form-heading,.library-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.form-heading h3,.library-heading h3{margin:0;font-size:16px}.form-heading button,.library-heading button,.library-heading a{color:#df95aa;cursor:pointer;background:0 0;border:0;font-size:11px;text-decoration:none}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.question-form label{gap:7px;display:grid;position:relative}.question-form label>span{color:#ecedf694;letter-spacing:.08em;font-size:11px;font-weight:700}.question-form input,.question-form select,.question-form textarea,.library-filters input,.library-filters select{color:#eef0f8;background:#0b122a;border:1px solid #ffffff1a;border-radius:11px;outline:0;width:100%}.question-form input,.question-form select,.library-filters input,.library-filters select{height:42px;padding:0 12px}.question-form textarea{resize:vertical;min-height:102px;padding:12px;line-height:1.6}.question-form input:focus,.question-form select:focus,.question-form textarea:focus,.library-filters input:focus,.library-filters select:focus{border-color:#e385a0a6;box-shadow:0 0 0 3px #e385a01a}.question-form label>small{color:#ecedf657;font-size:9px;position:absolute;bottom:8px;right:8px}.question-form .length-warning{color:#eca7a5}.save-question{color:#fff7eb;letter-spacing:.08em;cursor:pointer;background:linear-gradient(135deg,#d86482,#a84d7d);border:1px solid #ffe7da5c;border-radius:12px;min-height:46px;font-weight:700}.save-question:disabled{opacity:.58;cursor:wait}.question-library{margin-top:18px;padding:20px}.library-heading>div{gap:3px;display:grid}.library-heading span{color:#ecedf66b;font-size:10px}.library-heading button,.library-heading a{border:1px solid #ffffff17;border-radius:9px;align-items:center;padding:7px 10px;display:inline-flex}.library-file-actions{align-items:center;gap:5px;display:flex}.library-file-actions input{display:none}.library-filters{grid-template-columns:1fr 112px;gap:9px;margin:16px 0 13px;display:grid}.question-list{gap:9px;display:grid}.library-question{background:#060c227a;border:1px solid #ffffff12;border-radius:13px;padding:14px;transition:opacity .16s,border-color .16s}.library-question:hover{border-color:#e591a93d}.library-question.is-inactive{opacity:.45}.library-question-topline{color:#ecedf678;align-items:center;gap:7px;font-size:10px;display:flex}.mini-level{color:#fff;border-radius:999px;padding:3px 7px;font-weight:800}.mini-mellow{background:#a75c7d}.mini-deep{background:#546b9f}.mini-soul{background:#b43f67}.question-switch{cursor:pointer;align-items:center;gap:4px;margin-left:auto;display:flex}.question-switch input{accent-color:#d96887}.library-question>p{color:#e9eaf2;margin:10px 0 8px;font-size:13px;line-height:1.65}.library-question-actions{justify-content:flex-end;gap:12px;display:flex}.library-question-actions button{color:#e6afbfc2;cursor:pointer;background:0 0;border:0;font-size:10px}.library-question-actions button:last-child{color:#ee888ead}.admin-notice{color:#ecedf699;text-align:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a1028e6;border:1px solid #ffffff14;border-radius:10px;margin:16px 0 0;padding:9px 12px;font-size:10px;position:sticky;bottom:8px}@keyframes lantern-breathe{0%,to{filter:brightness(.95)}50%{filter:brightness(1.22)}}@keyframes star-twinkle{0%,to{opacity:.45;transform:scale(.82)}50%{opacity:1;transform:scale(1.14)}}.lantern{animation:3.2s ease-in-out infinite lantern-breathe}.star-one,.star-four{animation:2.8s ease-in-out infinite star-twinkle}.star-three{animation:3.5s ease-in-out .7s infinite star-twinkle}@media (max-height:760px){.stage-heading{padding-top:18px}.stage-heading h1{font-size:clamp(48px,5.4vw,76px)}.stage-subtitle{margin-top:6px}.card-table{min-height:300px}.card-pile{width:clamp(290px,27vw,430px);transform:translate(-2vw,1vh)}.pile-card{width:clamp(170px,15.5vw,260px)}.draw-button{min-height:88px}.stage-actions{padding-bottom:16px}.shop-scene{height:180px;bottom:10vh}.flying-card-shell{height:min(58vh,450px);min-height:380px}.question-copy{padding-top:54px;padding-bottom:46px}.question-divider{margin-top:16px}.question-prompt{margin-top:6px}}@media (max-width:700px){.projection-stage{grid-template-rows:auto minmax(360px,1fr) auto auto}.stage-heading{width:100%}.card-pile{transform:translateY(1vh)}.shop-scene{opacity:.55;bottom:15vh;right:-45px}.leaf-frame{width:48vw}.stage-tools{top:12px;right:12px}.stage-tools button span:last-child{display:none}.flying-card-shell{width:calc(100vw - 30px);height:min(58vh,500px);min-height:350px}.question-copy{padding-inline:28px}.question-text-xl{font-size:clamp(31px,8.2vw,46px)}.question-text-lg{font-size:clamp(27px,7vw,40px)}.question-text-md{font-size:clamp(23px,6vw,34px)}.question-text-sm{font-size:clamp(19px,5.1vw,28px)}.result-actions{top:calc(100% + 14px)}.result-actions button{padding-inline:17px;font-size:13px}.form-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
