.cp-page{--cp-ink:#493a31;--cp-muted:#8c7a6b;--cp-red:#a84e3d;--cp-line:#e9dfd2;color:var(--cp-ink);max-width:1180px;margin:auto;padding-bottom:36px}.cp-page button,.cp-editor button,.cp-confirm button,.cp-preview button{transition:transform .22s,background .22s,box-shadow .22s}.cp-page button:hover,.cp-editor button:hover{transform:translateY(-2px)}.cp-page button:active,.cp-editor button:active,.cp-confirm button:active{transform:scale(.97)}.cp-page :focus-visible,.cp-editor :focus-visible,.cp-confirm :focus-visible{outline:3px solid #ba775c;outline-offset:4px}.cp-hero{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px 58px;border:1px solid var(--cp-line);border-radius:28px;background:radial-gradient(ellipse at 85% 30%,#ead8bd88,transparent 55%),#f9f3e9;overflow:hidden}.cp-hero small,.cp-detail-head small{letter-spacing:2px;font-size:11px;color:#967d67}.cp-hero h1{font-size:42px;line-height:1.3;letter-spacing:-1.5px;margin:16px 0;font-weight:680}.cp-hero h1 em{font-style:normal;color:var(--cp-red)}.cp-hero p{font-size:14px;line-height:1.9;color:var(--cp-muted);margin-bottom:24px}.cp-art{width:320px;max-width:100%;flex-shrink:0;overflow:visible}.cp-board{animation:cp-board-in .8s cubic-bezier(.2,.8,.3,1) both}.cp-check{stroke-dasharray:24;stroke-dashoffset:24;animation:cp-draw .7s .35s forwards}.cp-check.second{animation-delay:.75s}.cp-flags{transform-origin:160px 80px;animation:cp-sway 5s ease-in-out infinite}.cp-person{animation:cp-board-in 1s .15s both}.cp-hero:hover .cp-board{filter:drop-shadow(0 6px 6px #aa836525)}.cp-tabs{display:flex;gap:10px;margin:28px 0 20px;border-bottom:1px solid var(--cp-line);padding-bottom:12px}.cp-tabs a{display:flex;align-items:center;gap:8px;padding:12px 18px;border-radius:13px;color:var(--cp-muted);font-size:14px;transition:background .25s,color .25s,transform .25s}.cp-tabs a[aria-current=page]{color:var(--cp-red);background:#f1e4d9}.cp-tabs a:hover{background:#f5ede4;transform:translateY(-2px)}.cp-tabs svg,.cp-toolbar svg,.cp-card svg,.cp-entry svg,.cp-page .button svg,.cp-contact svg,.cp-back svg,.cp-refresh svg,.cp-note svg{width:18px;height:18px;flex-shrink:0}.cp-toolbar{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap;margin:18px 0}.cp-filters{display:flex;gap:6px;flex-wrap:wrap}.cp-filters button,.cp-list-heading button,.cp-refresh{background:transparent;border:0;color:var(--cp-muted);padding:9px 12px;border-radius:10px;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:5px}.cp-filters button[aria-pressed=true]{background:#604738;color:#fff9f0}.cp-toolbar form{display:flex;align-items:center;gap:8px;background:#fffdfa;border:1px solid var(--cp-line);padding:8px 12px;border-radius:12px}.cp-toolbar input{background:transparent;border:0;outline:0;min-width:0;width:170px;font:inherit;font-size:13px}.cp-toolbar form button{border:0;background:transparent;color:var(--cp-red);cursor:pointer}.cp-list-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--cp-muted);margin-bottom:14px;gap:12px}.cp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.cp-card{display:flex;flex-direction:column;min-width:0;background:#fffcf7;border:1px solid var(--cp-line);border-radius:22px;padding:24px;color:var(--cp-ink);position:relative;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}.cp-card:hover{transform:translateY(-5px);box-shadow:0 14px 34px #79553912;border-color:#caac91}.cp-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:22px}.cp-symbol{width:46px;height:46px;display:grid;place-items:center;background:#f3e6da;color:#a85542;border-radius:15px}.cp-symbol svg{width:24px;height:24px}.cp-status{font-size:11px;background:#f4e7dd;color:#a25340;padding:6px 9px;border-radius:20px;white-space:nowrap}.state-claimed .cp-status{background:#e8eee5;color:#63765b}.state-submitted .cp-status{background:#f4e9cf;color:#997335}.state-done .cp-status{background:#e5ede7;color:#587663}.cp-card>small{font-size:11px;color:var(--cp-muted);text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.cp-card h2{font-size:19px;line-height:1.5;letter-spacing:-.5px;margin:8px 0 10px;overflow-wrap:anywhere}.cp-card>p{font-size:13px;line-height:1.9;color:var(--cp-muted);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 22px;min-height:72px}.cp-card-time{display:flex;gap:7px;align-items:center;font-size:11px;color:#8c6c54;margin-top:auto}.cp-card footer{border-top:1px dashed var(--cp-line);margin-top:18px;padding-top:16px;display:flex;justify-content:space-between;gap:12px}.cp-card footer span{font-size:11px;display:flex;gap:6px;align-items:center;color:var(--cp-muted);min-width:0;overflow-wrap:anywhere}.cp-card footer>svg{color:var(--cp-red);transition:transform .3s}.cp-card:hover footer>svg{transform:translateX(4px)}.cp-empty{text-align:center;padding:42px 24px;border:1px dashed #d7c6b2;border-radius:24px;background:#fcf8f1}.cp-empty>.cp-art{width:190px;margin:0 auto 10px;display:block}.cp-empty>svg:not(.cp-art){width:42px;height:42px;color:var(--cp-red)}.cp-empty h2{font-size:20px;margin:8px 0 12px}.cp-empty p{font-size:13px;color:var(--cp-muted);line-height:1.9}.cp-empty .button{margin:10px auto 0;display:inline-flex}.cp-error{color:#ad4937;font-size:13px;line-height:1.8;overflow-wrap:anywhere}.cp-more{display:flex;margin:26px auto}.cp-entry{display:flex;align-items:center;gap:14px;border:1px solid #e4d6c5;background:#f7eee2;border-radius:18px;padding:18px 20px;margin:18px 0;color:#674e3b;transition:transform .25s,background .25s}.cp-entry:hover{transform:translateY(-2px);background:#f1e2d1}.cp-entry>svg:first-child{width:26px;height:26px}.cp-entry>svg:last-child{margin-left:auto}.cp-entry strong,.cp-entry small{display:block}.cp-entry strong{font-size:14px}.cp-entry small{font-size:11px;color:#927b66;margin-top:6px;line-height:1.6}.cp-back{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:#8a7361;margin:6px 0 22px}.cp-detail-head{display:flex;align-items:center;justify-content:space-between;gap:30px;background:#f5ecdf;border-radius:25px;padding:30px 40px;margin-bottom:24px}.cp-detail-head h1{font-size:32px;line-height:1.5;letter-spacing:-.8px;margin:12px 0;overflow-wrap:anywhere}.cp-detail-head p{font-size:13px;line-height:1.7;color:var(--cp-muted)}.cp-detail-head .cp-art{width:220px}.cp-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}.cp-story,.cp-rail{border:1px solid var(--cp-line);border-radius:23px;background:#fffcf7;padding:30px;min-width:0}.cp-progress{display:flex;justify-content:space-between;margin-bottom:36px;gap:12px}.cp-progress>span{display:flex;flex-direction:column;align-items:center;font-size:11px;color:#ad9a88;gap:9px;flex:1;position:relative}.cp-progress>span:not(:last-child):after{content:'';position:absolute;height:1px;left:72%;right:-30%;top:16px;background:#e3d4c1}.cp-progress i{font-style:normal;width:32px;height:32px;display:grid;place-items:center;border:1px solid #dfcfbd;border-radius:50%;font-size:12px}.cp-progress i svg{width:15px;height:15px}.cp-progress .reached{color:var(--cp-red)}.cp-progress .reached i{background:#b35d48;color:#fff5eb;border-color:#b35d48}.cp-story h2{font-size:18px;letter-spacing:-.3px;margin-bottom:18px}.cp-description{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:2.1;color:#726153}.cp-facts{display:grid;gap:18px;border-top:1px solid var(--cp-line);padding-top:25px;margin:30px 0}.cp-facts>div{display:flex;align-items:flex-start;gap:14px}.cp-facts svg{width:20px;height:20px;color:#a87554;flex-shrink:0}.cp-facts small,.cp-event-link small{display:block;font-size:11px;color:var(--cp-muted);margin-bottom:7px}.cp-facts strong{font-size:13px;font-weight:500;line-height:1.8;overflow-wrap:anywhere}.cp-event-link{display:flex;align-items:center;gap:14px;background:#f6efe4;border-radius:15px;padding:18px}.cp-event-link svg{width:22px;height:22px;flex-shrink:0;color:#a8684e}.cp-event-link>svg:last-child{margin-left:auto;width:18px}.cp-event-link strong{font-size:13px;line-height:1.7;overflow-wrap:anywhere}.cp-note{margin-top:20px;background:#f2f1e7;border-radius:16px;padding:18px;color:#71725f;font-size:13px;line-height:1.9;overflow-wrap:anywhere}.cp-note small{display:flex;gap:8px;align-items:center;font-size:11px}.cp-note p{white-space:pre-wrap;margin-bottom:0}.cp-note.feedback{background:#f8ede2;color:#9a6950}.cp-people>small{font-size:11px;color:var(--cp-muted)}.cp-people>a{display:flex;align-items:center;gap:12px;margin-top:22px;min-width:0}.cp-people>a>span{width:40px;height:40px;display:grid;place-items:center;border-radius:14px;background:#ebdfce;color:#826248;font-size:16px;flex-shrink:0}.cp-people strong{font-size:13px;display:block;overflow-wrap:anywhere}.cp-people a small{display:block;font-size:11px;color:var(--cp-muted);margin-top:6px}.cp-waiting{display:flex;align-items:center;gap:8px;font-size:12px;color:#9b8874;padding:22px 0 8px}.cp-waiting svg{width:20px}.cp-actions{display:grid;gap:12px;border-top:1px dashed var(--cp-line);padding-top:22px;margin-top:25px}.cp-actions p{font-size:13px;line-height:1.8;color:var(--cp-muted);margin:0}.cp-actions .button{width:100%;justify-content:center;font-size:13px;white-space:normal;text-align:center}.cp-contact{border:0;background:transparent;padding:10px;display:flex;align-items:center;justify-content:center;gap:8px;color:#8d684e;cursor:pointer;font-size:12px}.cp-footnote{display:block;color:#a08e7c;font-size:10px;line-height:1.9;margin-top:20px}.cp-refresh{padding-left:0;margin-top:10px}.cp-editor,.cp-preview,.cp-confirm{color:#493a31;--cp-line:#e9dfd2;--cp-ink:#493a31;--cp-muted:#8c7a6b;--cp-red:#a84e3d}.cp-editor-intro{display:flex;align-items:center;gap:15px;background:#f7eddf;border-radius:18px;padding:12px;margin-bottom:22px}.cp-editor-intro .cp-art{width:130px}.cp-editor-intro small{font-size:10px;color:#aa6c4f}.cp-editor-intro h2{font-size:19px;line-height:1.5;margin:8px 0}.cp-editor-intro p{font-size:12px;line-height:1.8;color:#8f7865}.cp-event-select{display:flex;align-items:center;gap:10px;background:#faf4eb;border-radius:13px;padding:12px}.cp-event-select svg{width:20px;flex-shrink:0;color:#a66f51}.cp-event-select select{background:transparent;border:0;min-width:0;width:100%;font:inherit;font-size:13px;color:#755943}.cp-title-input{display:block;width:100%;padding:23px 0 12px;border:0;background:transparent;font-size:22px;font-weight:600;color:#493a31}.cp-editor textarea,.cp-confirm textarea{display:block;width:100%;min-height:150px;resize:vertical;border:0;border-bottom:1px solid #e8dbcc;background:transparent;padding:12px 0;line-height:1.9;font:inherit;font-size:14px;color:#6c5848}.cp-kind-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:23px 0}.cp-kind-options button{display:grid;place-items:center;gap:9px;border:1px solid #e8dbcc;border-radius:13px;background:#fffaf3;padding:14px 5px;font-size:11px;color:#9a7d65;cursor:pointer}.cp-kind-options svg{width:22px;height:22px}.cp-kind-options button[aria-pressed=true]{background:#f2dfce;color:#a44e38;border-color:#c89175}.cp-deadline{display:flex;align-items:center;gap:10px;padding:16px;background:#f6eee2;border-radius:13px;flex-wrap:wrap}.cp-deadline svg{width:20px;height:20px;color:#ad7955}.cp-deadline span{font-size:12px}.cp-deadline small{display:block;font-size:10px;color:#a08a74;margin-top:5px}.cp-deadline input{max-width:100%;min-width:0;border:1px solid #dfcfba;border-radius:8px;padding:9px;background:#fffaf3;color:#795e48;font-size:12px;margin-left:auto}.cp-editor footer,.cp-preview footer,.cp-confirm footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:24px}.cp-editor footer>small{font-size:10px;color:#a08b76;line-height:1.7}.cp-preview .cp-card{pointer-events:none}.cp-preview .cp-card>p{-webkit-line-clamp:unset;white-space:pre-wrap;overflow-wrap:anywhere}.cp-confirm{text-align:center}.cp-confirm>.cp-art{width:180px;display:block;margin:auto}.cp-confirm h2{font-size:21px;line-height:1.5;overflow-wrap:anywhere}.cp-confirm>p{font-size:13px;color:#8e7966;line-height:1.9}.cp-confirm textarea{text-align:left}.cp-confirm footer{justify-content:center}#dialog[data-kind^=coop-]{width:min(620px,calc(100vw - 36px));background:#fffcf7;border-radius:24px}.cp-page [disabled],.cp-editor [disabled],.cp-confirm [disabled],.cp-preview [disabled]{opacity:.5;cursor:wait;transform:none}
@keyframes cp-draw{to{stroke-dashoffset:0}}@keyframes cp-sway{0%,100%{transform:rotate(-1deg)}50%{transform:rotate(1deg)}}@keyframes cp-board-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){.cp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-hero{padding:36px}.cp-hero>.cp-art{width:260px}.cp-layout{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.cp-story,.cp-rail{padding:24px}.cp-detail-head h1{font-size:28px}}
@media(max-width:680px){.cp-page{padding-bottom:20px}.cp-hero{padding:28px 24px;gap:0;position:relative;border-radius:22px;min-height:330px}.cp-hero>div{position:relative;z-index:1}.cp-hero h1{font-size:31px;letter-spacing:-1px}.cp-hero p{font-size:12px;margin-bottom:20px;max-width:225px}.cp-hero small{font-size:9px;letter-spacing:1px}.cp-hero>.cp-art{position:absolute;width:160px;right:-10px;top:25px;opacity:.55}.cp-hero .button{font-size:12px}.cp-tabs{gap:4px;justify-content:space-between;margin:20px 0 16px}.cp-tabs a{padding:11px 8px;gap:5px;font-size:12px}.cp-tabs svg{width:16px;height:16px}.cp-toolbar{gap:12px}.cp-toolbar form{width:100%}.cp-toolbar form input{width:100%}.cp-filters{gap:3px;justify-content:space-between;width:100%}.cp-filters button{padding:8px 10px;font-size:11px}.cp-list-heading{font-size:10px}.cp-list-heading button{font-size:10px;padding:8px 0}.cp-grid{grid-template-columns:1fr;gap:14px}.cp-card{padding:22px;border-radius:19px}.cp-card h2{font-size:20px}.cp-card>p{min-height:0;-webkit-line-clamp:2}.cp-card-top{margin-bottom:18px}.cp-card-time{font-size:11px}.cp-card footer span{font-size:11px}.cp-detail-head{padding:25px 22px;position:relative;overflow:hidden;min-height:165px;gap:0}.cp-detail-head>div{position:relative;z-index:1;padding-right:28px}.cp-detail-head .cp-art{position:absolute;width:130px;right:-26px;top:18px;opacity:.17}.cp-detail-head h1{font-size:25px;line-height:1.5}.cp-detail-head small{font-size:10px;letter-spacing:1px}.cp-layout{grid-template-columns:1fr;gap:16px}.cp-story,.cp-rail{padding:23px 20px;border-radius:20px}.cp-progress{gap:8px;margin-bottom:28px}.cp-progress>span{font-size:10px}.cp-description{font-size:14px}.cp-actions{grid-template-columns:1fr}.cp-people{display:flex;flex-wrap:wrap;gap:12px 24px}.cp-people>small{width:100%}.cp-people>a{margin-top:5px}.cp-waiting{padding:5px 0}.cp-footnote{font-size:10px}.cp-entry{padding:16px;gap:10px}.cp-entry small{font-size:10px}.cp-editor-intro .cp-art{width:94px}.cp-editor-intro h2{font-size:17px}.cp-editor-intro p{font-size:11px}.cp-title-input{font-size:20px}.cp-kind-options{gap:6px}.cp-kind-options button{font-size:10px}.cp-deadline input{width:100%;margin-left:0}.cp-editor footer{align-items:stretch;flex-direction:column-reverse}.cp-editor footer .button{justify-content:center}.cp-preview footer .button,.cp-confirm footer .button{font-size:12px;flex:1;justify-content:center}#dialog[data-kind^=coop-]{width:100%;max-width:none;max-height:92dvh;margin:auto 0 0;border-radius:24px 24px 0 0;padding-bottom:max(24px,env(safe-area-inset-bottom));box-sizing:border-box}.cp-empty{padding:30px 18px}.cp-empty h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.cp-page *,.cp-editor *,.cp-confirm *,.cp-preview *{animation:none!important;transition:none!important}.cp-check{stroke-dashoffset:0}}
/* Keep illustrations proportional alongside the shared 21px icon rule. */
svg.cp-art{height:auto;aspect-ratio:320/230;max-height:none}
body[data-ui-shell=community] .cp-page .button:not(.outline),#dialog[data-kind^=coop-] .button:not(.outline){background:#a34e39;color:#fff9f1;border-color:#a34e39;box-shadow:0 4px 12px #a34e3915}
body[data-ui-shell=community] .cp-page .button.outline,#dialog[data-kind^=coop-] .button.outline{background:#fffaf3;color:#8d6249;border-color:#dbc6af;box-shadow:none}
