@font-face{font-family:Inter;src:url(/kiri/home/assets/fonts/inter-latin.woff2) format("woff2");font-weight:100 900;font-display:swap}:root{font-family:Inter,system-ui,sans-serif;color:var(--ency-text, #26342d);background:var(--ency-inset, #f4f6f4);--surface: var(--ency-surface, #fff);--raised: var(--ency-raised, #ebefec);--line: var(--ency-border, #d6ded8);--text: var(--ency-text, #26342d);--muted: var(--ency-muted, #647368);--accent: var(--ency-accent, #148947);--soft: var(--ency-selected, #e1f4e7);font-synthesis:none;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--muted: #a4adb1;--line: #3c4248}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--line);border-radius:7px;padding:10px 15px;background:var(--raised);color:var(--text);font-size:13px;cursor:pointer;line-height:1.3;text-decoration:none}button:hover,.button:hover{border-color:var(--muted)}button:disabled{opacity:.48;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:var(--ency-inset, #fff);font-weight:600}.primary:hover{filter:brightness(1.08);border-color:var(--accent)}.full{width:100%;margin-top:10px}.icon-button{border:0;background:transparent;padding:6px}.starred{color:var(--accent)}button svg,a svg{flex-shrink:0;vertical-align:middle}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:32px;font-weight:550;letter-spacing:-1px;line-height:1.2}h2{font-size:20px;font-weight:550;letter-spacing:-.3px}h3{font-size:16px;font-weight:550}p{line-height:1.65}label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:500;margin:18px 0}input,select,textarea{width:100%;min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:var(--text);padding:11px 12px;font-size:13px}textarea{resize:vertical;line-height:1.7}input::placeholder,textarea::placeholder{color:var(--muted);opacity:.85}.muted{color:var(--muted)}.small{font-size:12px}.prose{white-space:pre-wrap;overflow-wrap:anywhere;max-width:850px;font-size:14px;line-height:1.9}.app-header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:64px;padding:0 4vw;background:var(--surface)}.brand{font-size:17px;letter-spacing:1px;font-weight:700;color:var(--accent);display:flex;align-items:center;gap:12px}.brand img{width:24px;filter:brightness(0) saturate(100%) invert(62%) sepia(85%) saturate(1125%) hue-rotate(116deg)}.app-header nav{display:flex;align-self:stretch;gap:32px;font-size:13px}.app-header nav a{display:flex;align-items:center;color:var(--muted);border-bottom:2px solid transparent}.app-header nav a.active{color:var(--text);border-color:var(--accent)}.account{margin-left:auto;display:flex;align-items:center;gap:14px}.account-name{font-size:12px;color:var(--muted)}.community-shell{max-width:1800px;margin:0 auto;padding:38px 4vw 0;min-height:calc(100dvh - 78px)}.page-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.page-title p{color:var(--muted);font-size:13px;margin-top:11px}.browse-tools{display:flex;gap:24px;justify-content:space-between;align-items:center;margin-bottom:32px}.tabs{display:flex;gap:8px}.tabs button{border-color:transparent;background:transparent;color:var(--muted);padding:9px 19px;border-radius:20px}.tabs button.active{background:var(--text);color:var(--surface)}.search{flex:0 1 390px;flex-direction:row;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:0 13px;margin:0;color:var(--muted)}.search input{border:0;background:transparent;padding:12px 0}.section-title{display:flex;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 18px}.section-title>a{font-size:12px;color:var(--muted);display:flex;gap:8px;align-items:center}.collection-strip{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 54px)/4);gap:18px;overflow-x:auto;padding-bottom:6px}.collection-card{height:215px;padding:21px 23px;border-radius:10px;color:#243332;display:block;overflow:hidden;position:relative}.collection-card:hover{filter:brightness(1.05)}.collection-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.collection-top h3{font-size:22px;line-height:1.15;letter-spacing:-.6px}.collection-card>p{font-size:12px;opacity:.65;margin-top:9px}.collection-images{display:flex;gap:12px;position:absolute;bottom:19px;left:23px;right:23px}.collection-images img{width:calc((100% - 24px) / 3);aspect-ratio:1;max-height:86px;object-fit:cover;border-radius:50%;mix-blend-mode:multiply}.collections-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}.collections-grid .collection-card{height:260px}.collections-grid .collection-images img{max-height:105px}.project-heading{margin-top:34px}.filter-controls{display:flex;align-items:center;gap:18px;font-size:12px}.filter-controls button{border-radius:20px}.selected{border-color:var(--accent)}.count{background:var(--soft);color:var(--accent);padding:1px 5px;border-radius:3px}.categories{display:flex;gap:9px;margin:0 0 23px;overflow-x:auto;padding-bottom:3px}.categories button{white-space:nowrap;background:transparent;padding:7px 12px;font-size:12px;border-color:transparent;color:var(--muted)}.categories button.active{background:var(--raised);color:var(--text);border-color:var(--line)}.filter-panel{display:grid;grid-template-columns:repeat(4,1fr) auto;gap:16px;align-items:end;padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-bottom:23px}.filter-panel label{margin:0}.filter-panel button{margin-bottom:1px}.project-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:22px}.project-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;transition:border-color .15s}.project-card:hover{border-color:var(--accent)}.card-image{display:flex;position:relative;align-items:center;justify-content:center;aspect-ratio:1.48;background:var(--raised);overflow:hidden}.card-image>img{width:100%;height:100%;object-fit:cover}.official{position:absolute;right:12px;top:12px;border:1px solid #6a8b82;color:#c3e5d5;background:#283c34e8;border-radius:4px;font-size:10px;padding:4px 7px}.card-preview{position:absolute;inset:auto 0 0;background:#152720cf;color:#fff;display:flex;justify-content:space-between;padding:13px 16px;font-size:12px;opacity:0;transition:opacity .15s}.card-image:hover .card-preview,.card-image:focus-visible .card-preview{opacity:1}.card-body{padding:15px 16px}.card-title{display:flex;gap:8px;align-items:center;justify-content:space-between}.card-title>a{font-size:15px;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-author{font-size:11px;color:var(--muted);margin-top:5px}.card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px;font-size:10px;color:var(--muted)}.card-meta>span{display:inline-flex;align-items:center;gap:4px}.card-meta>span+span:before{content:"·";margin-right:3px}.card-foot{display:flex;gap:10px;justify-content:space-between;padding:11px 16px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.skeleton{min-height:295px;border-radius:9px;background:linear-gradient(100deg,var(--surface),var(--raised),var(--surface));background-size:200% 100%;animation:pulse 1.5s ease-in-out infinite}.more{text-align:center;margin:28px}.empty{text-align:center;padding:65px 20px;color:var(--muted);border:1px dashed var(--line);border-radius:9px}.empty h2{color:var(--text);margin:15px 0 12px}.empty p{font-size:13px;margin-bottom:20px}.empty a{color:var(--accent);font-size:13px}.error{display:flex;gap:15px;align-items:center;justify-content:space-between;padding:14px 18px;background:var(--ency-error-bg, #f9e6e2);border:1px solid #ab6660;color:var(--text);font-size:13px;margin:15px 0;border-radius:7px}.error button{flex-shrink:0}.notice{border-left:3px solid var(--accent);background:var(--soft);padding:14px 18px;font-size:13px;margin:18px 0}.back{display:inline-flex;gap:8px;align-items:center;color:var(--muted);font-size:12px;margin-bottom:24px}.collection-hero{border-radius:11px;padding:24px 30px;margin-bottom:25px;color:#263a35}.collection-hero .back{color:inherit;opacity:.75;margin-bottom:18px}.collection-hero p{font-size:14px;margin-top:8px;max-width:700px}.collection-hero>span{display:block;font-size:12px;margin-top:25px}.detail-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.detail-title p{font-size:12px;margin-top:12px}.badge{border:1px solid var(--line);font-size:10px;padding:3px 6px;border-radius:4px;margin-left:8px;color:var(--accent)}.detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:28px}.media-panel{position:relative;background:var(--raised);border-radius:10px;overflow:hidden;min-height:450px}.detail-cover{width:100%;height:100%;max-height:580px;object-fit:contain}.media-switch{position:absolute;bottom:20px;left:50%;transform:translate(-50%);display:flex;background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:4px;gap:4px;white-space:nowrap}.media-switch button{background:transparent;border:0}.media-switch .active{background:var(--raised);color:var(--accent)}.viewer{width:100%;height:100%;min-height:450px;position:relative}.viewer-hint{position:absolute;top:18px;left:18px;font-size:11px;color:var(--muted);pointer-events:none}.viewer-message{padding:50px;font-size:14px}.making-panel{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:25px}.eyeline{font-size:10px;color:var(--accent);letter-spacing:1.5px}.making-panel h2{margin-top:10px;font-size:23px}.facts{display:grid;gap:15px;font-size:12px;margin:25px 0}.facts>div{display:flex;justify-content:space-between;gap:18px}.facts span{color:var(--muted)}.facts strong{font-weight:500;text-align:right}.making-panel>p{margin-top:16px}.detail-tabs{margin-top:35px;border-bottom:1px solid var(--line);gap:26px;overflow-x:auto}.detail-tabs button{border-radius:0;padding:16px 0;white-space:nowrap;border:0;border-bottom:2px solid transparent}.detail-tabs button.active{background:transparent;color:var(--accent);border-color:var(--accent)}.detail-content{padding:30px 0;min-height:240px}.detail-content h2{margin-bottom:20px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:23px 0}.tags span{font-size:11px;border:1px solid var(--line);padding:5px 9px;border-radius:4px;color:var(--muted)}.reference-note{display:flex;align-items:flex-start;gap:15px;background:var(--surface);border-radius:8px;padding:22px;max-width:650px;margin-top:28px}.reference-note svg{color:var(--accent);flex-shrink:0}.reference-note strong{font-size:13px}.reference-note p{font-size:12px;color:var(--muted);margin-top:8px}.requirement-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.requirement-grid section{padding:22px;background:var(--surface);border-radius:7px}.requirement-grid h3{font-size:13px;margin-bottom:12px;color:var(--accent)}.file-row{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);max-width:850px;margin-bottom:20px;font-size:13px}.file-row p{font-size:12px;margin-top:6px}.file-row>a{margin-left:auto}.version-select{max-width:320px;margin-top:30px}.version-row{display:flex;gap:20px;padding:17px 0;font-size:12px;max-width:850px}.version-row span:last-child{margin-left:auto}.detail-loading{height:500px}.draft-row{display:flex;gap:18px;align-items:center;padding:22px;border-bottom:1px solid var(--line)}.draft-row:hover{background:var(--surface)}.draft-row>svg:last-child{margin-left:auto}.draft-row p{font-size:12px;margin-top:5px}.editor-actions{display:flex;gap:12px}.editor-layout{display:grid;grid-template-columns:minmax(0,850px) minmax(210px,280px);gap:45px;justify-content:space-between}.editor-form>section{padding:26px 0;border-top:1px solid var(--line)}.editor-form h2{margin-bottom:15px}.editor-form .section-title{margin:0 0 15px}.two-fields{display:grid;grid-template-columns:1fr 1fr;gap:20px}.upload-field{align-items:center;justify-content:center;min-height:185px;border:1px dashed var(--line);padding:22px;text-align:center;border-radius:8px;background:var(--surface);position:relative;overflow:hidden;cursor:pointer}.upload-field input{font-size:11px;max-width:240px;border:0}.upload-field span{font-size:11px;color:var(--muted)}.upload-field>img{width:100%;height:120px;object-fit:contain}.plan-editor{background:var(--surface);border:1px solid var(--line);border-radius:9px;padding:23px;margin:20px 0}.plan-editor h3{color:var(--accent)}.plan-editor input,.plan-editor textarea{background:var(--ency-inset, #f7faf8)}.editor-summary{position:sticky;top:25px;align-self:start;padding:25px;background:var(--surface);border-radius:8px}.editor-summary>svg{color:var(--accent);margin-bottom:18px}.editor-summary h3{margin-bottom:14px}.editor-summary p{font-size:12px;margin-top:12px}.editor-summary a{display:block;color:var(--accent);font-size:12px;margin-top:20px}.checklist{display:flex;gap:10px;align-items:center}.checklist>span{display:block;width:12px;height:12px;border:1px solid var(--line);border-radius:3px}.success{color:var(--accent)!important;display:inline-flex;gap:6px;align-items:center}.danger{color:var(--ency-error-text, #ac3333)}dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:28px;width:min(480px,calc(100vw - 30px));box-shadow:0 30px 120px #0005}dialog::backdrop{background:#0009;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}dialog p{font-size:13px;margin:14px 0}.modal-head h2{font-size:21px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 0;margin-top:55px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer>span:first-child{letter-spacing:1px}.app-header .mantis-theme-toggle{margin-left:0}@keyframes pulse{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(min-width:1500px){.project-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1100px){.collection-strip{grid-auto-columns:calc((100% - 36px) / 3)}.collection-card{height:200px;padding:20px}.collection-top h3{font-size:19px}.filter-panel{grid-template-columns:1fr 1fr}.filter-panel>button{justify-self:start}.detail-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr)}.app-header{gap:35px}.editor-layout{gap:25px;grid-template-columns:minmax(0,1fr) 220px}}@media(max-width:760px){.app-header{padding:0 20px;height:64px;gap:24px}.app-header nav{gap:18px}.brand{font-size:14px;gap:6px}.brand img{width:19px}.account-name{display:none}.account button{padding:8px;font-size:11px}.community-shell{padding:25px 20px 0}.page-title{align-items:flex-start;gap:18px;flex-direction:column}h1{font-size:28px}.browse-tools{align-items:stretch;gap:15px;flex-direction:column}.search{flex:auto}.tabs button{padding:8px 15px}.collection-strip{grid-auto-columns:270px}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.card-body{padding:12px}.card-foot{padding:10px 12px;flex-direction:column;gap:4px}.card-title>a{font-size:13px}.official{font-size:8px;right:7px;top:7px}.card-meta{gap:5px;font-size:9px}.card-preview{display:none}.collection-hero{padding:22px}.detail-grid{grid-template-columns:1fr}.media-panel,.viewer{min-height:330px}.detail-cover{max-height:430px}.detail-title{align-items:flex-start}.detail-title h1{font-size:28px}.requirement-grid{grid-template-columns:1fr}.detail-tabs{gap:20px}.detail-tabs button{font-size:12px}.editor-layout{grid-template-columns:1fr}.editor-summary{position:static;grid-row:1}.editor-summary .checklist{display:inline-flex;margin-right:14px}.editor-summary>svg{display:none}.editor-summary{padding:18px}.two-fields{gap:14px}.editor-form>section{padding:22px 0}.filter-controls>span{display:none}footer>span:nth-child(2){display:none}}@media(max-width:440px){.brand img{display:none}.app-header{gap:20px;padding:0 14px}.app-header nav{gap:14px;font-size:12px}.community-shell{padding:24px 14px 0}.project-grid{grid-template-columns:1fr}.card-image{aspect-ratio:1.55}.card-foot{flex-direction:row}.two-fields,.filter-panel{grid-template-columns:1fr}.card-title>a{font-size:16px}.account{gap:0}.detail-title{gap:12px}.detail-title h1{font-size:25px}.section-title h2{font-size:18px}}
