@import"https://fonts.googleapis.com/css2?family=ZCOOL+KuaiLe&display=swap";.nav[data-v-919cc559]{position:sticky;top:0;z-index:100;background:#2d4a3eeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:2px dashed var(--border)}.nav__inner[data-v-919cc559]{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:60px}.nav__brand[data-v-919cc559]{display:flex;align-items:center;gap:8px;font-family:var(--font-title);font-size:24px;color:var(--gold);text-decoration:none}.nav__brand-icon[data-v-919cc559]{flex-shrink:0}.nav__links[data-v-919cc559]{display:flex;align-items:center;gap:20px}.nav__link[data-v-919cc559]{font-family:var(--font-title);font-size:16px;color:var(--muted);text-decoration:none;padding:6px 12px;border-radius:var(--radius-sm);transition:color var(--ease),background var(--ease);letter-spacing:1px}.nav__link[data-v-919cc559]:hover,.nav__link--active[data-v-919cc559]{color:var(--gold)}.nav__link--active[data-v-919cc559]{background:#ffd7001a}.nav__login-btn[data-v-919cc559]{font-size:14px;padding:6px 16px;background:var(--gold);color:var(--text);border-radius:var(--radius-sm);font-weight:400;box-shadow:var(--shadow);letter-spacing:2px}.nav__login-btn[data-v-919cc559]:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.nav__user[data-v-919cc559]{display:flex;align-items:center;gap:10px}.nav__user-name[data-v-919cc559]{font-family:var(--font-title);font-size:14px;color:var(--text-light)}.nav__logout-btn[data-v-919cc559]{font-size:13px;padding:4px 12px;background:transparent;color:var(--border);border:1px dashed var(--border);border-radius:var(--radius-sm);letter-spacing:1px}.nav__logout-btn[data-v-919cc559]:hover{border-color:var(--gold);color:var(--gold)}@media(max-width:640px){.nav__inner[data-v-919cc559]{padding:0 16px}.nav__brand-text[data-v-919cc559]{display:none}.nav__links[data-v-919cc559]{gap:8px}.nav__link[data-v-919cc559]{font-size:13px;padding:4px 6px}}.modal-overlay[data-v-71bd1b2b]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0000008c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:20px}.modal-box[data-v-71bd1b2b]{background:var(--bg);border:2px dashed var(--border);border-radius:var(--radius);width:100%;max-width:400px;box-shadow:4px 4px #0006}.modal-tabs[data-v-71bd1b2b]{display:flex;align-items:center;border-bottom:2px dashed var(--border)}.modal-tab[data-v-71bd1b2b]{flex:1;font-family:var(--font-title);font-size:18px;padding:14px;background:transparent;color:var(--border);letter-spacing:2px;transition:color var(--ease),background var(--ease)}.modal-tab--active[data-v-71bd1b2b]{color:var(--gold);background:#ffd7000f}.modal-close[data-v-71bd1b2b]{padding:0 16px;font-size:24px;background:transparent;color:var(--border);line-height:1}.modal-close[data-v-71bd1b2b]:hover{color:var(--gold)}.modal-body[data-v-71bd1b2b]{padding:20px;display:flex;flex-direction:column;gap:14px}.modal-input[data-v-71bd1b2b]{width:100%}.modal-captcha[data-v-71bd1b2b]{display:flex;gap:10px;align-items:stretch}.modal-input--captcha[data-v-71bd1b2b]{width:120px;flex-shrink:0}.captcha-svg[data-v-71bd1b2b]{flex:1;display:flex;align-items:center;justify-content:center;border:2px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;min-height:44px;padding:4px;transition:border-color var(--ease);overflow:hidden}.captcha-svg[data-v-71bd1b2b]:hover{border-color:var(--gold)}.captcha-svg[data-v-71bd1b2b] svg{max-width:100%;max-height:100%}.modal-submit[data-v-71bd1b2b]{width:100%;font-family:var(--font-title);font-size:20px;padding:12px;background:var(--gold);color:var(--text);border-radius:var(--radius-sm);letter-spacing:6px;box-shadow:var(--shadow)}.modal-submit[data-v-71bd1b2b]:hover{transform:translateY(-2px);box-shadow:var(--shadow-hover)}.modal-submit[data-v-71bd1b2b]:disabled{opacity:.5;cursor:not-allowed;transform:none}.modal-links[data-v-71bd1b2b]{display:flex;justify-content:space-between;gap:10px}.modal-link[data-v-71bd1b2b]{font-family:var(--font-body);font-size:14px;background:transparent;color:var(--border);letter-spacing:.5px;padding:2px 0}.modal-link[data-v-71bd1b2b]:hover{color:var(--gold)}.modal-msg[data-v-71bd1b2b]{font-size:14px;padding:8px 12px;border-radius:var(--radius-sm)}.modal-msg--error[data-v-71bd1b2b]{background:#ff64641f;color:#ff9090;border:1px dashed #ff9090}.modal-msg--success[data-v-71bd1b2b]{background:#ffd7001f;color:var(--gold);border:1px dashed var(--gold)}.modal-msg--info[data-v-71bd1b2b]{background:#c8d9c01f;color:var(--muted);border:1px dashed var(--muted);font-size:13px}.modal-msg--info a[data-v-71bd1b2b]{color:var(--gold);text-decoration:underline}.modal-enter-active[data-v-71bd1b2b],.modal-leave-active[data-v-71bd1b2b]{transition:opacity .3s ease}.modal-enter-active .modal-box[data-v-71bd1b2b],.modal-leave-active .modal-box[data-v-71bd1b2b]{transition:transform .3s ease}.modal-enter-from[data-v-71bd1b2b],.modal-leave-to[data-v-71bd1b2b]{opacity:0}.modal-enter-from .modal-box[data-v-71bd1b2b]{transform:scale(.9) translateY(20px)}.modal-leave-to .modal-box[data-v-71bd1b2b]{transform:scale(.95) translateY(-10px)}.chalk-bg[data-v-9504e8e4]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;background:radial-gradient(ellipse at 30% 20%,rgba(255,255,255,.04) 0%,transparent 60%),radial-gradient(ellipse at 70% 80%,rgba(0,0,0,.08) 0%,transparent 60%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.025) 1px,transparent 1px,transparent 3px),var(--bg)}.noise[data-v-9504e8e4]{position:absolute;top:0;right:0;bottom:0;left:0;mix-blend-mode:overlay;pointer-events:none}.particle-canvas[data-v-fc2ffbfc]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none}main[data-v-2229e3f1]{min-height:calc(100vh - 64px);position:relative;z-index:1}:root{--bg: #2D4A3E;--card: #F5E6C8;--gold: #FFD700;--gold-hover: #FFE44D;--border: #A3B5A8;--muted: #C8D9C0;--text: #2D4A3E;--text-light: #F5E6C8;--overlay: rgba(0, 0, 0, .55);--font-title: "ZCOOL KuaiLe", "TsangerYuYangT", cursive;--font-body: "TsangerYuYangT", "ZCOOL KuaiLe", "Patrick Hand SC", cursive;--font-num: "Patrick Hand SC", "ZCOOL KuaiLe", cursive;--radius-sm: 4px;--radius: 6px;--shadow: 2px 2px 0 rgba(0, 0, 0, .25);--shadow-hover: 3px 3px 0 rgba(0, 0, 0, .35);--border-style: 2px dashed var(--border);--ease: .25s ease;--page-transition: .4s ease}@font-face{font-family:TsangerYuYangT;src:local("TsangerYuYangT"),local("Noto Sans SC"),local("Microsoft YaHei"),sans-serif;font-weight:400;font-style:normal}@font-face{font-family:Patrick Hand SC;src:local("Patrick Hand SC"),local("Patrick Hand"),local("Comic Sans MS"),cursive;font-weight:400;font-style:normal}@keyframes eraserSweep{0%{clip-path:inset(0 100% 0 0);opacity:0}40%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(0 0 0 0);opacity:1}}.eraser-enter{animation:eraserSweep .7s ease forwards}@keyframes chalkAppear{0%{clip-path:inset(0 100% 0 0);transform:translateY(6px);opacity:0}to{clip-path:inset(0 0 0 0);transform:translateY(0);opacity:1}}.chalk-char{display:inline-block;animation:chalkAppear .5s ease both;will-change:clip-path,transform}@keyframes chalkFall{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(20px,40px) scale(.3)}}.chalk-particle{position:fixed;pointer-events:none;border-radius:50%;animation:chalkFade var(--particle-duration, .5s) ease-out forwards;z-index:9999}@keyframes chalkFade{0%{opacity:.9;transform:translate(0) rotate(0)}to{opacity:0;transform:translate(var(--px, 0px),var(--py, 0px)) rotate(var(--pr, 40deg))}}@keyframes numDotPop{0%{transform:scale(.3);opacity:0}50%{transform:scale(1.25)}to{transform:scale(1);opacity:1}}.num-dot{display:inline-block;animation:numDotPop .45s cubic-bezier(.34,1.56,.64,1) both}@keyframes doodleBreathe{0%,to{opacity:.18;transform:scale(1)}50%{opacity:.26;transform:scale(1.04)}}.corner-doodle{position:fixed;pointer-events:none;z-index:0;animation:doodleBreathe 6s ease-in-out infinite;will-change:opacity,transform}.corner-doodle.tl{top:20px;left:20px;animation-delay:0s}.corner-doodle.tr{top:20px;right:20px;animation-delay:1.5s}.corner-doodle.bl{bottom:20px;left:20px;animation-delay:3s}.corner-doodle.br{bottom:20px;right:20px;animation-delay:4.5s}@media(max-width:640px){.corner-doodle{opacity:.12!important}.corner-doodle svg{width:60px;height:60px}}@keyframes twinkle{0%,to{opacity:0}30%{opacity:.7}60%{opacity:.1}}.dot-twinkle{position:fixed;pointer-events:none;border-radius:50%;z-index:0;animation:twinkle var(--twinkle-duration, 5s) ease-in-out infinite;animation-delay:var(--twinkle-delay, 0s);width:var(--twinkle-size, 3px);height:var(--twinkle-size, 3px);background:#ffd7004d}.card-container{position:relative;transition:transform .25s ease,box-shadow .25s ease}.card-container:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border:3px solid var(--gold);border-radius:var(--radius);opacity:0;transition:opacity .4s ease;pointer-events:none;z-index:1}.card-container:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover)}.card-container:hover:before{opacity:1}@keyframes boardShake{0%,to{transform:translate(0)}10%{transform:translate(-2px,-2px)}20%{transform:translate(2px,2px)}30%{transform:translate(-2px,1px)}40%{transform:translate(1px,-1px)}50%{transform:translate(-1px,2px)}60%{transform:translate(2px)}70%{transform:translate(-2px,-1px)}80%{transform:translate(1px,1px)}90%{transform:translate(-1px,-2px)}}.board-shake{animation:boardShake .3s ease}@keyframes charPop{0%{opacity:0;transform:translateY(10px) scale(.7)}to{opacity:1;transform:translateY(0) scale(1.15)}}.char-pop{display:inline-block;animation:charPop .3s cubic-bezier(.34,1.56,.64,1) both}@keyframes flashPulse{0%,to{opacity:1}50%{opacity:.2}}.flash-pulse{animation:flashPulse 1s ease 2}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-font-smoothing:antialiased}body{font-family:var(--font-body);background-color:var(--bg);color:var(--text-light);min-height:100vh;overflow-x:hidden;letter-spacing:.5px;line-height:1.6}#app{min-height:100vh;position:relative}a{color:var(--gold);text-decoration:none;transition:color var(--ease)}a:hover{color:var(--gold-hover)}button{cursor:pointer;border:none;outline:none;font-family:var(--font-title);transition:transform var(--ease),box-shadow var(--ease)}button:active{transform:scale(.97)}input,textarea{font-family:var(--font-body);border:var(--border-style);border-radius:var(--radius-sm);background:#f5e6c81f;color:var(--text-light);padding:10px 14px;font-size:16px;letter-spacing:.5px;outline:none;transition:border-color var(--ease);width:100%}input:focus,textarea:focus{border-color:var(--gold);border-style:solid}input::placeholder,textarea::placeholder{color:var(--border);opacity:.7}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--muted)}.page-enter-active,.page-leave-active{transition:opacity var(--page-transition),transform var(--page-transition)}.page-enter-from{opacity:0;transform:translateY(16px)}.page-leave-to{opacity:0;transform:translateY(-16px)}.container{max-width:1100px;margin:0 auto;padding:40px 24px}@media(max-width:640px){.container{padding:24px 16px}}
