:root{--paper:#faf8f5;--ink-wash:#f0ede8;--ink-light:#d8d4cd;--ink-mid:#9e9a94;--ink-deep:#5c5954;--ink-full:#2a2825;--font-main:"LXGW WenKai","Kaiti SC",serif;--space-xs:8px;--space-sm:16px;--space-md:32px;--space-lg:56px;--space-xl:96px}body:has(.homepage-root){background:var(--paper);color:var(--ink-deep);max-width:none;margin:0;padding:0;line-height:2}.homepage-root{font-family:var(--font-main);color:var(--ink-deep);-webkit-font-smoothing:antialiased;letter-spacing:.05em;min-height:100vh;line-height:2;position:relative}.homepage-root:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle at 50% 0,#00000005 0%,#0000 70%);position:fixed;inset:0}.container{max-width:560px;padding:0 var(--space-md);z-index:1;margin:0 auto;position:relative}.brand-spine{left:var(--space-sm);writing-mode:vertical-rl;letter-spacing:.3em;color:var(--ink-mid);z-index:10;opacity:1;font-size:11px;line-height:1.6;transition:opacity .3s,color .3s;position:fixed;top:50%;transform:translateY(-50%)}.brand-spine:hover{color:var(--ink-deep)}.nav-header{padding-top:var(--space-sm);padding-bottom:var(--space-md);border-bottom:1px solid var(--ink-wash);opacity:0;animation:1s .2s forwards fadeIn}.nav-inner{justify-content:space-between;align-items:baseline;display:flex}.brand{color:var(--ink-full);letter-spacing:.2em;font-size:18px;font-weight:400;text-decoration:none}.nav-links{gap:var(--space-md);align-items:baseline;display:flex}.nav-links a{color:var(--ink-mid);font-size:14px;font-weight:300;text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--ink-full)}.nav-auth{letter-spacing:.1em;color:var(--ink-mid);cursor:pointer;font-size:13px;font-family:var(--font-main);background:0 0;border:1px solid #0000;padding:2px 6px;text-decoration:none;transition:all .3s;position:relative}.nav-auth:hover{color:var(--ink-full);border-color:var(--ink-light)}.nav-auth.logged{color:var(--ink-full);border:1px solid var(--ink-light);border-radius:2px;padding:2px 8px;font-weight:400}.nav-auth.logged:before{content:"";background:var(--ink-mid);opacity:.5;border-radius:50%;width:4px;height:4px;position:absolute;top:2px;right:2px}.season-header{margin-top:var(--space-lg);margin-bottom:var(--space-lg);text-align:center;opacity:0;animation:1s .4s forwards fadeUp}.season-date{letter-spacing:.4em;color:var(--ink-mid);margin-bottom:var(--space-xs);font-size:12px}.season-name{letter-spacing:.3em;color:var(--ink-deep);font-size:14px;display:inline-block;position:relative}.season-name:before,.season-name:after{content:"";background:var(--ink-light);width:24px;height:1px;position:absolute;top:50%}.season-name:before{margin-right:16px;right:100%}.season-name:after{margin-left:16px;left:100%}.hero-section{text-align:center;margin-bottom:var(--space-xl);opacity:0;animation:1s .6s forwards fadeUp}.main-title{letter-spacing:.4em;color:var(--ink-full);margin-bottom:var(--space-md);margin-left:.4em;font-size:28px;font-weight:400;line-height:1.6}.poem-subtitle{color:var(--ink-deep);max-width:380px;margin:0 auto;font-size:15px;font-weight:300;line-height:2.4}.poem-subtitle span{opacity:0;animation:.8s forwards fadeIn;display:inline}.input-section{margin-bottom:var(--space-xs);opacity:0;animation:1s .8s forwards fadeUp}.input-label{letter-spacing:.2em;color:var(--ink-mid);margin-bottom:var(--space-xs);text-align:left;padding-left:var(--space-md);font-size:12px;display:block;position:relative}.input-label:before{content:"";background:var(--ink-light);width:3px;height:1em;position:absolute;top:50%;left:0;transform:translateY(-50%)}.text-input{width:100%;min-height:200px;padding:var(--space-md);border:1px solid var(--ink-light);color:var(--ink-full);resize:vertical;background:#ffffff80;border-radius:3px;transition:all .3s;font-family:var(--font-main)!important;white-space:pre-wrap!important;word-wrap:break-word!important;font-size:15px!important;line-height:2.2!important}.text-input:focus{border-color:var(--ink-mid);background:#fffc;outline:none;box-shadow:0 2px 12px #0000000a}.text-input::placeholder{color:var(--ink-mid);opacity:.7;font-weight:300;font-family:var(--font-main)!important;white-space:pre-wrap!important;font-size:15px!important;line-height:2.2!important}.text-input::placeholder{color:var(--ink-mid);opacity:.7;font-weight:300;font-family:var(--font-main)!important;white-space:pre-wrap!important;font-size:15px!important;line-height:2.2!important}.text-input:-ms-placeholder-shown{color:var(--ink-mid);font-weight:300;font-family:var(--font-main)!important;white-space:pre-wrap!important;font-size:15px!important;line-height:2.2!important}.config-section{margin-top:0;margin-bottom:var(--space-md);opacity:0;animation:1s 1s forwards fadeUp}.config-wrapper{justify-content:flex-end;padding-right:4px;display:flex}.config-toggle{color:var(--ink-mid);cursor:pointer;padding:var(--space-xs)0;-webkit-user-select:none;user-select:none;letter-spacing:.1em;font-size:12px;font-weight:300;line-height:1.5;font-family:var(--font-main);background:0 0;border:none;align-items:center;gap:6px;transition:all .3s;display:inline-flex}.config-toggle:hover{color:var(--ink-deep)}.config-icon{opacity:.8;font-size:10px;transition:transform .3s}.config-toggle.active .config-icon{transform:rotate(45deg)}.config-panel{margin-top:var(--space-xs);opacity:0;max-height:0;padding:0 var(--space-xs);transition:all .5s;overflow:hidden}.config-panel.show{opacity:1;max-height:200px;margin-top:var(--space-md);margin-bottom:var(--space-xs)}.config-grid{gap:var(--space-md);grid-template-columns:repeat(3,1fr);display:grid}.config-item{gap:var(--space-xs);text-align:left;flex-direction:column;display:flex}.config-label{color:var(--ink-mid);letter-spacing:.1em;font-size:11px}.config-select{width:100%;padding:var(--space-xs);border:none;border-bottom:1px solid var(--ink-light);font-family:var(--font-main);color:var(--ink-deep);cursor:pointer;appearance:none;background:0 0;font-size:13px;transition:border-color .3s}.config-select:focus{border-bottom-color:var(--ink-deep);outline:none}.advanced-entry{margin-top:var(--space-md);text-align:center;opacity:0;transition:opacity .3s}.config-panel.show .advanced-entry{opacity:1}.advanced-link{color:var(--ink-mid);letter-spacing:.1em;cursor:pointer;font-size:11px;text-decoration:none;transition:color .3s;display:inline-block}.advanced-link:hover{color:var(--ink-deep);border-bottom:1px solid var(--ink-light);padding-bottom:1px}.advanced-link:before{content:"→";opacity:.6;margin-right:6px}.action-section{text-align:center;margin-top:var(--space-sm);margin-bottom:var(--space-lg);opacity:0;animation:1s 1.2s forwards fadeUp}.submit-btn{border:1px solid var(--ink-full);font-family:var(--font-main);letter-spacing:.6em;text-indent:.6em;color:var(--ink-full);cursor:pointer;background:0 0;padding:16px 48px;font-size:15px;transition:all .4s;display:inline-block;position:relative}.submit-btn:hover{background:var(--ink-full);color:var(--paper);letter-spacing:.65em}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.footnote{margin-top:var(--space-md);color:var(--ink-mid);font-size:12px;font-weight:300;line-height:2.2}.limit-tag{margin-top:var(--space-sm);border:1px solid var(--ink-light);letter-spacing:.15em;color:var(--ink-mid);padding:4px 12px;font-size:10px;display:inline-block}.page-footer{margin-top:var(--space-xl);padding-top:var(--space-md);padding-bottom:var(--space-lg);border-top:1px solid var(--ink-wash);opacity:0;justify-content:space-between;align-items:baseline;animation:1s 1.4s forwards fadeUp;display:flex}.footer-brand{color:var(--ink-deep);letter-spacing:.25em;font-size:13px;font-weight:400}.footer-time{letter-spacing:.15em;color:var(--ink-mid);font-size:12px}.footer-version{letter-spacing:.1em;color:var(--ink-light);opacity:.6;font-size:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.poem-subtitle span:first-child{animation-delay:1.2s}.poem-subtitle span:nth-child(2){animation-delay:1.4s}.poem-subtitle span:nth-child(3){animation-delay:1.6s}@media (max-width:600px){.container{padding:0 var(--space-sm)}.main-title{letter-spacing:.3em;margin-left:.3em;font-size:24px}.poem-subtitle{font-size:14px}.config-grid{grid-template-columns:1fr}.config-item{text-align:center}.season-name:before,.season-name:after{width:12px}.config-wrapper{justify-content:center}.submit-btn{letter-spacing:.5em;text-indent:.5em;padding:14px 36px}.nav-links{gap:var(--space-sm)}.brand-spine{display:none}.page-footer{gap:var(--space-xs);text-align:center;flex-direction:column}}@media print{.config-section,.submit-btn,.limit-tag,.nav-auth,.brand-spine,.homepage-root:before{display:none}}
