:root{color-scheme:light;--ink:#5b3827;--muted:#90745b;--gold:#e39a28;--orange:#e37b26;--paper:#fff5dc;--line:#dcc29a;--green:#5c872f}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e9f3dc url('assets/portal-clouds.jpg') center top/2000px auto no-repeat;color:var(--ink);font:15px/1.65 "Microsoft YaHei","PingFang SC",Arial,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #277d9c;outline-offset:4px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.site-header{height:84px;position:absolute;inset:0 0 auto;z-index:2;background:linear-gradient(#fff9e6ee,#fff9e6bb 65%,#fff9e600)}.header-inner{width:min(1180px,calc(100% - 64px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:11px;flex-shrink:0}.brand-emblem{display:grid;place-items:center;width:47px;height:47px;color:#fff4c9;font-size:30px;font-weight:900;background:linear-gradient(145deg,#f7cb55,#d98021);border:3px solid #8a4e20;border-radius:14px 19px 14px 19px;box-shadow:inset 0 0 0 2px #ffdf85,0 3px 0 #c2a471;text-shadow:0 2px #ab601c;transform:rotate(-7deg)}.brand-title{display:block;font-size:23px;font-weight:900;letter-spacing:2px;line-height:1.2;color:#674127;text-shadow:0 1px #fff}.brand-title span{font-size:15px;letter-spacing:3px;color:#927048}.brand-note{display:block;margin-top:4px;color:#998161;font-size:10px;letter-spacing:3px}.header-nav{display:flex;align-items:center;gap:26px}.header-nav a{text-decoration:none;font-size:14px;font-weight:700;transition:color .15s}.header-nav a:hover{color:#c26b20}.header-nav .nav-entry{border:1px solid #d5b676;border-radius:99px;padding:7px 20px;background:#fff4d7bb;box-shadow:0 2px 0 #d8bc85}
.hero{height:500px;position:relative;overflow:hidden}.hero-art{position:absolute;inset:0;background:url('assets/portal-hero.png') center top/cover no-repeat}.hero:after{content:"";position:absolute;inset:auto 0 0;height:100px;background:linear-gradient(transparent,#e9f3dc)}.hero-caption{position:absolute;z-index:1;left:50%;bottom:52px;transform:translateX(-50%);margin:0;white-space:nowrap;color:#fff9d7;font-weight:700;font-size:16px;letter-spacing:4px;text-shadow:0 2px 3px #4f5521,0 0 12px #413b1b}
.portal-main{width:min(1180px,calc(100% - 48px));position:relative;z-index:3;margin:-50px auto 0}.parchment-board{position:relative;background:url('assets/parchment-repeat.png') center top/100% auto repeat-y;filter:drop-shadow(0 12px 15px #5b4e2730);padding:30px 54px 37px;min-height:440px}.parchment-board:before,.parchment-board:after{content:"";position:absolute;left:0;right:0;pointer-events:none}.parchment-board:before{height:154px;top:0;background:url('assets/parchment-top.png') center top/100% 100% no-repeat}.parchment-board:after{height:84px;bottom:0;background:url('assets/parchment-bottom.png') center bottom/100% 100% no-repeat}.entry-layout{position:relative;z-index:1;display:grid;grid-template-columns:360px minmax(0,1fr);gap:58px}.account-panel{scroll-margin-top:24px;padding-right:36px;border-right:1px solid #b995646b}.panel-heading{margin-bottom:10px}.eyebrow{display:block;font-weight:800;font-size:10px;letter-spacing:3px;color:#af7b37;margin-bottom:3px}.panel-heading h2{font-size:23px;line-height:1.4;margin:0 0 4px;letter-spacing:1px}.panel-heading p{font-size:13px;color:var(--muted);margin:0}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;background:#b98c4f1c;border:1px solid #c3a16c70;border-radius:7px;margin-bottom:12px}.tab-button{border:0;border-radius:4px;padding:7px;color:#9a7852;font-weight:700;background:transparent}.tab-button[aria-selected=true]{background:linear-gradient(#fff8e9,#f7e6bf);color:#80502b;box-shadow:0 1px 3px #8b60293b}.field{margin-top:10px}.field label{display:block;font-size:12px;font-weight:700;color:#886543;margin-bottom:6px}.input-wrap{position:relative}.input-wrap input{width:100%;min-width:0;height:43px;border:1px solid #c6a476;border-radius:5px;padding:0 12px;color:#573b27;background:#fffaf0;box-shadow:inset 0 2px 3px #b7966130;transition:border-color .15s,box-shadow .15s}.input-wrap input::placeholder{color:#b49b7d;font-size:12px}.input-wrap input:focus{border-color:#ad7427;box-shadow:0 0 0 3px #daa34c24;outline:none}.input-wrap.has-toggle input{padding-right:55px}.password-toggle{position:absolute;right:5px;top:5px;height:33px;padding:0 8px;border:0;border-radius:3px;background:transparent;color:#9b7b53;font-size:11px}.password-toggle:hover{background:#eee0c4}.field-hint{margin:4px 0 0;color:#a0825e;font-size:11px;line-height:1.5}.primary-button{width:100%;min-height:48px;border:2px solid #9e5017;border-radius:8px;position:relative;display:flex;justify-content:center;align-items:center;gap:14px;background:linear-gradient(#ffda72 0%,#ffb744 48%,#ef8c29 51%,#ed8a27 100%);color:#703715;font-size:18px;font-weight:900;letter-spacing:3px;text-shadow:0 1px #ffecc4;box-shadow:inset 0 0 0 2px #ffd47e,0 4px 0 #9c591f,0 6px 8px #78512d2b;margin-top:16px;transition:filter .15s,transform .15s}.primary-button:hover{filter:brightness(1.06);transform:translateY(-1px)}.primary-button:active{transform:translateY(2px);box-shadow:inset 0 0 0 2px #ffd47e,0 2px 0 #9c591f}.button-arrow{font-size:23px;line-height:1;font-family:Arial,sans-serif;letter-spacing:0}.primary-button:disabled{cursor:wait;filter:saturate(.6);transform:none}.form-footnote{text-align:center;margin:13px 0 0;font-size:11px;color:#a18460}.form-footnote button{border:0;background:none;color:#956226;padding:0;text-decoration:underline;text-underline-offset:3px}.notice{padding:11px 13px;border:1px solid #c5aa72;border-radius:5px;background:#fff8df;color:#785122;font-size:13px;line-height:1.6;margin:0 0 18px;overflow-wrap:anywhere}.notice.is-error{background:#fff0e5;border-color:#d49a79;color:#9b482a}.notice:focus{outline:2px solid #bd8f50;outline-offset:2px}
.welcome-panel{padding:5px 0 0}.welcome-top{display:flex;justify-content:space-between;align-items:center;gap:12px}.ribbon-label{display:inline-block;position:relative;padding:4px 14px;color:#fff3cb;font-size:11px;font-weight:700;letter-spacing:2px;background:#8b693e;border-radius:3px 3px 3px 0;box-shadow:0 2px 0 #b38c54}.welcome-top>span:last-child{font-size:11px;letter-spacing:2px;color:#ad8b5b}.welcome-panel h2{font-size:36px;letter-spacing:3px;line-height:1.45;color:#74472b;margin:20px 0 12px;font-weight:900}.welcome-panel h2 em{font-style:normal;color:#c07123;position:relative;white-space:nowrap}.welcome-panel h2 em:after{content:"";height:5px;border-radius:50%;position:absolute;left:0;right:0;bottom:-5px;background:#d6aa5559}.welcome-copy{margin:0;max-width:470px;line-height:1.95;color:#94714e;font-size:13px}.memory-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:19px}.memory-tags span{font-size:11px;color:#9c7544;padding:3px 10px;border:1px solid #c49f616b;border-radius:99px;background:#fff2d438}.guide{scroll-margin-top:30px;margin-top:29px;border-top:1px solid #ba986755;padding-top:20px}.guide h3{font-size:12px;letter-spacing:2px;color:#8f6b43;margin:0 0 15px;display:flex;align-items:center;gap:8px}.guide h3:before{content:"";width:5px;height:13px;border-radius:2px;background:#c08c43}.guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}.guide-list li{min-width:0}.step-number{font-family:Georgia,serif;font-size:23px;font-weight:700;color:#c4a270;line-height:1;display:block;margin-bottom:9px}.guide-list strong{display:block;font-size:13px;color:#795334;margin-bottom:5px}.guide-list p{margin:0;font-size:11px;line-height:1.75;color:#a18460}.guide-note{font-size:11px;color:#a18460;margin:20px 0 0}.guide-note b{font-weight:700;color:#927047}.member-card{padding:17px 15px;border:1px solid #c8ad77;border-radius:6px;background:linear-gradient(130deg,#fff9e5aa,#ead6a25c);margin:20px 0 0}.member-status{color:#6c853e;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.member-status:before{content:"";width:6px;height:6px;border-radius:100%;background:#79994b;box-shadow:0 0 0 3px #8aa8551a}.member-name{display:block;font-size:20px;line-height:1.4;font-weight:800;margin-top:9px;overflow-wrap:anywhere;color:#76502c}.member-note{font-size:11px;color:#a1855c;margin:7px 0 0}.logout-button{border:0;background:transparent;display:block;width:100%;margin-top:20px;padding:5px;color:#9f8058;font-size:12px;text-decoration:underline;text-underline-offset:4px}.logout-button:hover{color:#71411f}.site-footer{padding:28px 20px 30px;text-align:center;color:#9aa286;font-size:11px;letter-spacing:1px}.site-footer p{margin:0 0 4px}.site-footer .footer-brand{color:#7e8a68;font-weight:700}
@media(min-width:1800px){.hero{height:660px}.portal-main{margin-top:-100px}.hero-caption{bottom:100px}}
@media(max-width:1100px){.hero{height:520px}.portal-main{margin-top:-45px}.entry-layout{grid-template-columns:310px minmax(0,1fr);gap:34px}.parchment-board{padding:36px 40px}.account-panel{padding-right:27px}.welcome-panel h2{font-size:30px}.guide-list{gap:11px}.hero-caption{bottom:45px}}
@media(max-width:800px){.site-header{height:70px}.header-inner{width:calc(100% - 36px)}.brand-title{font-size:19px}.brand-title span{font-size:12px;letter-spacing:1px}.brand-emblem{width:39px;height:39px;font-size:25px;border-radius:11px 16px 11px 16px}.brand-note{font-size:8px;letter-spacing:2px}.header-nav{gap:15px}.header-nav a{font-size:12px}.header-nav .nav-entry{padding:6px 13px}.hero{height:440px}.hero-art{background-size:auto 500px;background-position:center top}.hero-caption{font-size:13px;letter-spacing:3px;bottom:39px}.portal-main{width:min(620px,calc(100% - 24px));margin-top:-32px}.parchment-board{padding:35px 33px}.parchment-board:before{height:80px}.parchment-board:after{height:46px}.entry-layout{display:flex;flex-direction:column;gap:32px}.account-panel{padding:0 16px 27px;border-right:0;border-bottom:1px solid #b995646b}.panel-heading{text-align:center}.auth-tabs{margin-bottom:18px}.welcome-panel{padding:0 17px}.welcome-panel h2{font-size:29px;margin-top:17px}.welcome-copy{max-width:none}.guide{margin-top:24px}.guide-list{gap:18px}.guide-note{margin-top:18px}.site-footer{padding-top:24px}}
@media(max-width:480px){.header-inner{width:calc(100% - 28px);gap:10px}.header-nav>a:first-child{display:none}.brand{gap:8px}.brand-title{font-size:18px;letter-spacing:1px}.brand-title span{display:block;font-size:10px;letter-spacing:4px;margin-top:3px}.brand-note{display:none}.header-nav .nav-entry{padding:5px 11px;font-size:11px}.hero{height:344px}.hero-art{background-size:auto 390px}.hero-caption{bottom:23px;font-size:11px;letter-spacing:2px}.portal-main{width:calc(100% - 14px);margin-top:-15px}.parchment-board{padding:29px 24px 31px}.account-panel{padding:0 12px 26px}.welcome-panel{padding:0 11px}.panel-heading h2{font-size:21px}.panel-heading p{font-size:12px}.input-wrap input{height:44px}.primary-button{min-height:48px}.welcome-panel h2{font-size:27px;letter-spacing:2px}.welcome-top>span:last-child{font-size:9px;letter-spacing:1px}.welcome-copy{font-size:12px}.memory-tags{gap:6px}.memory-tags span{padding:2px 8px;font-size:10px}.guide-list{gap:11px}.guide-list strong{font-size:12px}.guide-list p{font-size:10px}.step-number{font-size:22px}.guide-note{font-size:10px}.site-footer{font-size:10px;letter-spacing:0}}
@media(max-width:480px){.guide-list{grid-template-columns:1fr;gap:15px}.guide-list li{display:grid;grid-template-columns:34px 1fr;column-gap:8px}.guide-list .step-number{grid-row:1 / span 2;margin:0;padding-top:3px}.guide-list strong{font-size:13px}.guide-list p{font-size:11px}.guide-list br{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
