@font-face{font-family:Geist;src:url('/assets/Geist-variable.ttf') format('truetype');font-weight:100 900;font-display:swap}
:root{font-family:Geist,'PingFang SC','Noto Sans CJK SC',sans-serif;color:#eceee8;background:#181818;font-size:16px;line-height:24px;--muted:#a6aea2;--accent:#bbd3aa;--line:#ffffff12;--ease:cubic-bezier(.32,.72,0,1);color-scheme:dark}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{outline-offset:4px}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent)}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}button{color:inherit}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500}p{text-wrap:pretty}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}::selection{background:var(--accent);color:#181818}.initial{padding:96px 32px;max-width:800px;margin:auto}.initial h1{font-size:30px;margin:24px 0}.skip{position:fixed;top:16px;left:16px;transform:translateY(-200%);z-index:100;background:var(--accent);color:#181818;padding:12px 16px;border-radius:8px}.skip:focus{transform:none}.shell{width:min(1200px,calc(100% - 64px));margin:auto}.header{margin:24px auto 0;padding:8px 12px 8px 16px;display:flex;align-items:center;gap:24px;border:1px solid var(--line);border-radius:999px;background:#1f1f1fc9;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}.brand{display:flex;align-items:center;gap:12px;white-space:nowrap;font-size:18px;line-height:28px;font-weight:600;letter-spacing:.02em}.brand img{width:36px;height:36px;border-radius:8px}.header nav{display:flex;align-items:center;gap:24px;color:var(--muted);font-size:14px;line-height:20px}.header nav a[aria-current=page]{color:var(--accent)}.header-actions{display:flex;gap:8px;align-items:center;margin-left:auto}.button{display:inline-flex;justify-content:center;align-items:center;gap:8px;padding:8px 12px;min-height:40px;border:1px solid #ffffff14;border-radius:8px;background:#272727;color:#e3e8df;font-size:14px;line-height:20px;font-weight:500;transition:background .35s var(--ease),transform .35s var(--ease),border-color .35s var(--ease)}.button:hover{background:#313131;border-color:#b7cf9d40}.button:active{transform:scale(.98)}.button.primary{background:var(--accent);border-color:transparent;color:#1d2819}.button.primary:hover{background:#cee0bf}.button.quiet{background:transparent;border-color:transparent;color:var(--muted)}.button.danger{color:#edb5ac;background:#41221e}.button.small{min-height:32px;padding:4px 8px;font-size:12px;line-height:16px}.header .button{border-radius:999px}.icon{width:20px;height:20px;flex:none;filter:invert(85%) sepia(14%) saturate(357%) hue-rotate(44deg)}.primary .icon{filter:invert(12%) sepia(21%) saturate(630%) hue-rotate(51deg)}.language{display:flex;gap:2px;background:#ffffff04;padding:4px;border:1px solid var(--line);border-radius:999px}.language a{padding:4px 8px;min-height:32px;display:flex;align-items:center;font-size:12px;line-height:16px;border-radius:999px;color:var(--muted)}.language a[aria-current=true]{background:#bbd3aa18;color:var(--accent)}.hero{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:64px 0 48px}.eyebrow{text-transform:uppercase;font-size:12px;line-height:16px;letter-spacing:.15em;color:#9cbb88;display:flex;align-items:center;gap:12px;margin-bottom:16px}.eyebrow:before{content:'';display:inline-block;width:6px;height:6px;background:var(--accent);border-radius:50%}.hero h1{font-size:48px;line-height:1.1;letter-spacing:-.04em;background:linear-gradient(90deg,#fff,#9b9b9b);color:transparent;background-clip:text;-webkit-background-clip:text}.hero p{margin-top:24px;color:var(--muted);max-width:600px;font-size:16px;line-height:24px}.hero-emblem{width:144px;flex:none;opacity:.9}.hero-emblem img{border-radius:32px}.notice{display:flex;gap:12px;align-items:flex-start;padding:16px 24px;margin-bottom:24px;background:#bbd3aa07;border:1px solid #bbd3aa21;border-radius:12px;color:#b8c6ac;font-size:14px;line-height:20px}.notice .icon{margin-top:2px}.notice strong{font-weight:500;color:#dce6d3}.boards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:32px}.board{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#1f1f1f;transition:background .4s var(--ease),border-color .4s var(--ease)}.board:hover{background:#272727;border-color:#bbd3aa40}.board[aria-current=page]{border-color:#bbd3aa66;background:#243022}.board .icon{width:32px;height:32px}.board strong{font-size:14px;line-height:20px;font-weight:500;display:block}.board small{display:block;font-size:12px;line-height:16px;color:var(--muted);margin-top:4px}.community-grid{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:32px;align-items:start}.feed-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px}.feed-head h2{font-size:20px;line-height:28px;white-space:nowrap}.search{display:flex;align-items:center;gap:8px;background:#1f1f1f;border:1px solid var(--line);padding:8px 12px;border-radius:8px;max-width:320px;min-width:0}.search input{width:100%;min-width:0;padding:0;border:0;outline:none;background:none;font-size:14px;line-height:20px}.search button{border:0;background:none;padding:0;display:flex}.panel{background:#1f1f1f;border:1px solid var(--line);border-radius:16px;padding:24px;min-width:0}.empty{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;min-height:320px;padding:48px 32px;border:1px solid var(--line);border-radius:16px;background:#1f1f1f}.empty .empty-symbol{width:64px;height:64px;background:#bbd3aa0b;border:1px solid #bbd3aa20;display:grid;place-items:center;border-radius:16px;margin-bottom:24px}.empty .icon{width:40px;height:40px;opacity:.8}.empty h3{font-size:20px;line-height:28px;margin-bottom:12px}.empty p{max-width:400px;color:var(--muted);font-size:14px;line-height:20px;margin-bottom:24px}.aside-card+.aside-card{margin-top:24px}.aside-card h3{font-size:14px;line-height:20px;margin-bottom:16px;color:#dde5d6;font-weight:500}.aside-card p,.aside-card li{font-size:14px;line-height:24px;color:var(--muted)}.aside-card ul{padding-left:16px;margin:12px 0 0}.aside-card .button{width:100%;margin-top:16px}.aside-divider{height:1px;background:var(--line);margin-block:24px}.post-card{display:flex;gap:24px;padding:24px;border:1px solid var(--line);border-radius:12px;background:#1f1f1f;margin-bottom:12px;transition:background .4s var(--ease),border-color .4s var(--ease);min-width:0}.post-card:hover{background:#232523;border-color:#bbd3aa35}.post-card .post-main{min-width:0;flex:1}.post-card h3{font-size:18px;line-height:28px;margin:12px 0 8px;overflow-wrap:anywhere}.post-card p{font-size:14px;line-height:20px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.post-thumb{width:128px;height:128px;object-fit:cover;border-radius:8px;background:#272727;align-self:center}.meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:#9da797;font-size:12px;line-height:16px}.tag{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #bbd3aa20;background:#bbd3aa09;border-radius:4px;color:#bccfae;font-size:12px;line-height:16px}.tag.pending{color:#d6c399;background:#ceb27012;border-color:#ceb27030}.post-stats{margin-top:16px;display:flex;gap:16px;color:#9da797;font-size:12px;line-height:16px;align-items:center}.post-stats span{display:flex;gap:4px;align-items:center}.post-stats .icon{width:16px;height:16px}.avatar{width:28px;height:28px;display:grid;place-items:center;border-radius:50%;color:#d3dfc9;background:#35412f;font-size:12px;line-height:16px;flex:none}.list-pages{display:flex;justify-content:space-between;margin-top:16px}.footer{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-top:64px;margin-bottom:32px;color:#8f9989;font-size:12px;line-height:20px}.footer nav{display:flex;gap:24px;flex-wrap:wrap}.footer a:hover{color:var(--accent)}.content-page{max-width:840px;margin:40px auto 0}.breadcrumb{display:flex;align-items:center;gap:8px;font-size:14px;line-height:20px;color:var(--muted);margin-bottom:24px}.content-page h1{font-size:30px;line-height:36px;margin:16px 0 24px;overflow-wrap:anywhere}.form{display:grid;gap:24px}.field{display:grid;gap:8px}.field>span,.field>label{font-size:14px;line-height:20px;color:#d7dfcf}.field input,.field textarea,.field select{width:100%;border:1px solid #ffffff20;background:#181818;border-radius:8px;padding:12px 16px;color:#eceee8;min-height:48px}.field textarea{resize:vertical;min-height:200px;line-height:28px}.field small,.hint{font-size:12px;line-height:20px;color:var(--muted)}.form-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.form-note{margin-right:auto;color:var(--muted);font-size:12px;line-height:20px}.inline-message{font-size:14px;line-height:20px;color:#dec6a3;white-space:pre-wrap}.inline-message:empty{display:none}.file-zone{padding:24px;border:1px dashed #bbd3aa40;border-radius:8px;display:grid;gap:12px;background:#181818}.file-zone input{width:100%;font-size:14px;line-height:20px}.upload-previews{display:flex;gap:12px;flex-wrap:wrap}.upload-preview{width:96px;position:relative}.upload-preview img{width:96px;height:96px;object-fit:cover;border-radius:8px}.upload-preview button{width:100%;margin-top:4px}.prose{font-size:16px;line-height:28px;overflow-wrap:anywhere;white-space:pre-wrap}.post-body{margin-top:32px}.post-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.post-images a:first-child:last-child{grid-column:1/-1}.post-images img{max-height:560px;object-fit:contain;width:100%;border-radius:8px;background:#181818}.post-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.reply-list{margin-top:32px;display:grid;gap:16px}.reply-list h2{font-size:20px;line-height:28px}.reply .prose{font-size:14px;line-height:24px;margin-top:16px}.reply .post-actions{margin-top:16px}.reply-form{margin-top:24px}.reply-form textarea{min-height:120px}.moderation-card{margin-bottom:16px}.moderation-card h3{font-size:18px;line-height:28px;margin-bottom:12px}.moderation-card .prose{font-size:14px;line-height:24px}.moderation-group{margin-top:32px}.moderation-group h2{font-size:20px;line-height:28px;margin-bottom:16px}.profile-actions{display:grid;gap:16px;margin-top:32px}.profile-actions section{padding:24px;border:1px solid var(--line);border-radius:12px}.profile-actions h2{font-size:18px;line-height:28px;margin-bottom:8px}.profile-actions p{font-size:14px;line-height:24px;color:var(--muted);margin-bottom:16px}.skeleton{height:144px;background:#1f1f1f;border:1px solid var(--line);border-radius:12px;margin-bottom:12px;padding:24px}.skeleton i{display:block;border-radius:4px;background:#ffffff08;height:12px;margin-bottom:16px;animation:breathe 1.5s var(--ease) infinite}.skeleton i:nth-child(1){width:30%}.skeleton i:nth-child(2){width:80%}.skeleton i:nth-child(3){width:60%}@keyframes breathe{50%{opacity:.4}}dialog{width:min(480px,calc(100% - 32px));max-height:calc(100% - 48px);border:1px solid #ffffff20;border-radius:24px;padding:32px;background:#1f1f1ff2;color:#eceee8;box-shadow:0 24px 96px #0009;backdrop-filter:blur(32px);-webkit-backdrop-filter:blur(32px);overscroll-behavior:contain}dialog::backdrop{background:#000a;backdrop-filter:blur(8px)}dialog[open]{animation:dialog-in .35s var(--ease)}@keyframes dialog-in{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}.dialog-top{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:24px}.dialog-top h2{font-size:24px;line-height:32px}.dialog-top .button{padding:8px;flex:none}.dialog-copy{color:var(--muted);font-size:14px;line-height:24px;margin-bottom:24px}.check{display:flex;align-items:flex-start;gap:8px;color:var(--muted);font-size:12px;line-height:20px}.check input{margin-top:4px;accent-color:#bbd3aa;flex:none}.check a{text-decoration:underline;text-underline-offset:3px}.code-input{letter-spacing:.16em;font-size:20px;text-transform:uppercase}.dialog-form .button.primary{width:100%}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#313131e8;border:1px solid #bbd3aa30;border-radius:12px;font-size:14px;line-height:20px;max-width:calc(100% - 32px);z-index:200;box-shadow:0 12px 40px #0006;backdrop-filter:blur(24px)}#toast:empty{display:none}.legal{max-width:800px;margin:64px auto}.legal h1{font-size:36px;line-height:40px;margin-bottom:16px}.legal h2{font-size:20px;line-height:28px;margin:32px 0 12px}.legal p,.legal li{font-size:14px;line-height:24px;color:#b6bfb0;margin-bottom:12px}.legal a{color:var(--accent);text-decoration:underline}.danger-zone{border-color:#b8725f30!important}.post-card,.panel,.empty{animation:content-in .4s var(--ease)}@keyframes content-in{from{opacity:.6;transform:translateY(4px)}to{opacity:1;transform:none}}
@media(max-width:1000px){.community-grid{grid-template-columns:minmax(0,1fr) 208px;gap:24px}.board{padding:12px;gap:8px}.board small{display:none}.hero h1{font-size:36px;line-height:40px}.header{gap:16px}.header nav{gap:16px}.header .brand{font-size:16px}.hero-emblem{width:112px}}
@media(max-width:740px){.shell{width:calc(100% - 32px)}.header{margin-top:16px;gap:12px}.header nav{display:none}.header .brand{font-size:14px;gap:8px}.brand img{width:32px;height:32px}.header .button{font-size:12px;padding:8px}.header-actions{gap:4px}.hero{padding:40px 0 32px;gap:16px}.hero h1{font-size:30px;line-height:36px}.hero p{font-size:14px;line-height:24px;margin-top:16px}.hero-emblem{width:80px}.hero-emblem img{border-radius:16px}.boards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:24px}.board small{display:block}.board .icon{width:24px;height:24px}.community-grid{grid-template-columns:1fr}.community-aside{display:grid;grid-template-columns:1fr 1fr;gap:16px}.aside-card+.aside-card{margin:0}.aside-divider{display:none}.feed-head{flex-wrap:wrap}.search{max-width:none;flex:1;min-width:160px}.notice{padding:16px}.empty{padding:32px 24px;min-height:280px}.post-card{padding:16px;gap:16px}.post-thumb{width:80px;height:80px}.post-card h3{font-size:16px;line-height:24px}.post-stats{gap:12px}.panel{padding:16px;border-radius:16px}.content-page{margin-top:24px}.content-page h1{font-size:24px;line-height:32px}.field input,.field textarea,.field select{padding:12px}.post-images{grid-template-columns:1fr}.footer{margin-top:40px;gap:16px}.footer nav{gap:16px}.legal{margin-top:40px}dialog{padding:24px;border-radius:24px}.dialog-top h2{font-size:20px;line-height:28px}.prose{font-size:14px;line-height:24px}}
@media(max-width:420px){.brand .community-word{display:none}.hero-emblem{display:none}.community-aside{grid-template-columns:1fr}.header-actions .button .icon{display:none}.language a{padding:4px 8px}.post-thumb{width:64px;height:64px}.shell{width:calc(100% - 24px)}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!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}.language-select select{max-width:128px;border:1px solid var(--line);border-radius:999px;background:#272727;padding:8px 12px;min-height:40px;color:#c3d6b3;font-size:12px;line-height:16px;cursor:pointer}.translation-dialog{width:min(960px,calc(100% - 32px))}.translation-languages,.translation-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.translation-columns{margin-top:24px}.translation-columns section{min-width:0;padding:16px;border:1px solid var(--line);border-radius:8px;background:#181818}.translation-columns h3{font-size:14px;line-height:20px;margin-bottom:16px;color:var(--accent)}.translation-columns .prose{font-size:14px;line-height:24px}@media(max-width:740px){.translation-columns{grid-template-columns:1fr}.translation-languages{gap:12px}.language-select select{max-width:104px;padding:8px}.header-actions .button{max-width:120px;white-space:normal}.header{border-radius:24px}}
