:root{--bg:#f8f6f1;--ink:#302e29;--muted:#8a877d;--line:#e6e2d9;--red:#9d342e;--green:#42715d;--amber:#a07835}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);margin:0;font:14px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:4px}button{color:inherit}header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;max-width:1280px;height:100px;margin:auto;padding:0 40px;display:flex}.brand{color:inherit;letter-spacing:1px;align-items:center;gap:12px;font-weight:600;text-decoration:none;display:flex}.brand small{letter-spacing:1.7px;color:var(--muted);margin-top:3px;font-size:8px;display:block}.seal{border:1px solid var(--red);color:var(--red);padding:0 6px;font:31px/1.2 Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif}.share{border:1px solid var(--line);background:0 0;border-radius:6px;align-items:center;gap:8px;padding:9px 15px;font-size:12px;display:flex}main{max-width:1280px;margin:auto;padding:0 40px}.hero{grid-template-columns:1.2fr 1fr;align-items:center;gap:60px;padding:58px 0 52px;display:grid}.eyebrow{letter-spacing:3px;color:var(--red);align-items:center;gap:10px;margin:0 0 24px;font-size:11px;display:flex}.eyebrow span{background:var(--red);border-radius:50%;width:6px;height:6px}h1{letter-spacing:1px;margin:0 0 20px;font:600 clamp(32px,4vw,50px)/1.5 Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif}h1 span{color:var(--red)}.intro{color:#777469;font-size:13px;line-height:1.9}.hero-meta{gap:24px;margin-top:28px;font-size:11px;display:flex}.hero-meta span{align-items:center;gap:7px;display:flex}.hero-art{background:#efebe1;border-radius:2px;justify-content:center;align-items:center;height:310px;display:flex;position:relative;overflow:hidden}.hero-art img{object-fit:contain;mix-blend-mode:multiply;width:88%;height:88%;position:relative}.art-word{color:#dcd4c3;letter-spacing:13px;font:45px Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif;position:absolute;top:15px;left:23px}.art-caption{color:#827968;letter-spacing:2px;justify-content:space-between;font-size:11px;display:flex;position:absolute;bottom:17px;left:24px;right:24px}.art-stamp{color:var(--red);border:1px solid var(--red);opacity:.75;padding:7px;font:15px/1.3 Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif;position:absolute;top:32px;right:25px;transform:rotate(7deg)}.progress{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:65px;margin-bottom:36px;padding:24px 0 30px;display:flex}.section-kicker{letter-spacing:1.5px;color:var(--muted);font-size:9px}.progress strong{font-size:23px;font-weight:500;display:block}.progress strong span{color:var(--muted);font-size:12px}.people{flex:1;grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.person{align-items:center;gap:12px;display:flex}.avatar{color:#ada697;border:1px dashed #ccc5b7;border-radius:50%;place-items:center;width:40px;height:40px;font:15px Georgia,serif;display:grid;position:relative}.done .avatar{color:var(--green);background:#e9eee8;border:1px solid #d2ddd0}.avatar i{background:var(--green);color:#fff;border-radius:50%;place-items:center;width:15px;height:15px;display:grid;position:absolute;bottom:-2px;right:-2px}.person b{overflow-wrap:anywhere;font-size:12px;font-weight:500}.person small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.workspace{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:32px;display:grid}.main-panel{border:1px solid var(--line);background:#fffefa;border-radius:9px;overflow:hidden}.tabs{border-bottom:1px solid var(--line);gap:28px;padding:0 28px;display:flex}.tabs button{color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;padding:20px 0 17px;font-size:13px}.tabs button.active{color:var(--red);border-color:var(--red);font-weight:600}.tabs span{background:#efede7;border-radius:4px;margin-left:4px;padding:2px 5px;font-size:10px}.form-top{border-bottom:1px solid var(--line);padding:27px 28px}.step-title{align-items:flex-start;gap:12px;display:flex}.step-title>span{color:#b2a68e;margin-top:3px;font:italic 19px Georgia,serif}.step-title h2{margin:0 0 6px;font-size:16px;font-weight:500}.step-title p{color:var(--muted);margin:0;font-size:11px}.role-grid{grid-template-columns:repeat(4,1fr);gap:10px;margin:22px 0 0;display:grid}.role{border:1px solid var(--line);text-align:left;background:0 0;border-radius:5px;padding:10px 13px;font-size:12px}.role small{color:var(--muted);overflow-wrap:anywhere;margin-top:3px;font-size:10px;display:block}.role.selected{color:var(--red);background:#f8efeb;border-color:#b87064}.name-label{align-items:center;gap:18px;margin-top:18px;font-size:12px;display:flex}.name-label input{border:1px solid var(--line);outline-color:var(--red);background:#fff;border-radius:4px;flex:1;min-width:0;padding:9px 12px}.schedule,.results{padding:26px 28px 0}.legend{color:#77766d;align-items:center;gap:7px;margin:18px 0;font-size:10px;display:flex}.legend small{color:#aaa297;font-size:10px}.yes-dot,.maybe-dot{background:var(--green);border-radius:50%;width:7px;height:7px;display:inline-block}.maybe-dot{background:var(--amber);margin-left:12px}.schedule-head,.date-row{grid-template-columns:100px repeat(4,minmax(0,1fr));display:grid}.schedule-head{background:#f5f3ed;border-radius:5px;margin-bottom:4px;padding:13px 0}.schedule-head>span{color:#817b6d;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;display:flex}.schedule-head svg{color:#b2a58b;margin-bottom:3px}.schedule-head b{color:#4f4b43;font-weight:500}.schedule-head small{font-size:10px}.date-row{border-bottom:1px solid #efede6;align-items:center;min-height:79px}.date-row.weekend{background:#faf8f1}.date{padding:8px}.date b{font-size:12px;font-weight:500;display:block}.date span{color:var(--muted);font-size:10px}.weekend .date span{color:var(--red)}.slot{flex-direction:column;align-items:center;gap:5px;padding:8px 2px;display:flex}.slot button{color:#a19d94;background:0 0;border:1px solid #ebe8e1;border-radius:4px;justify-content:center;align-items:center;gap:5px;width:78px;padding:3px 0;font-size:10px;display:flex}.slot .yes.picked{color:#3e7054;background:#e4eee5;border-color:#9ab79e}.slot .maybe.picked{color:#92702d;background:#f4ebd5;border-color:#cfb777}.save-bar{justify-content:space-between;align-items:center;gap:12px;padding:22px 0;display:flex}.save-bar b{font-size:12px;font-weight:500}.save-bar small{color:var(--muted);margin-top:2px;font-size:10px;display:block}.primary{background:var(--red);color:#fff;border:0;border-radius:5px;align-items:center;gap:20px;padding:12px 20px;font-size:12px;display:flex}.summary{background:#eeece3;border:1px solid #e3dfd2;border-radius:9px;padding:23px}.summary-label{color:#8c8067;justify-content:space-between;align-items:center;font-size:11px;display:flex}.summary-label button{color:inherit;background:0 0;border:0;padding:4px}.summary h2{margin:18px 0 12px;font:500 23px/1.6 Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif}.summary p{color:#8d8779;font-size:11px;line-height:1.9}.count-line{border-top:1px solid #dbd6c8;border-bottom:1px solid #dbd6c8;grid-template-columns:1fr 1fr;margin-top:23px;padding:15px 0;display:grid}.count-line span{color:#8c8576;font-size:10px}.count-line span+span{border-left:1px solid #dbd6c8;padding-left:20px}.count-line strong{color:#5c634d;margin-top:6px;font:27px Georgia,serif;display:block}.waiting-art{text-align:center;color:#a59b83;padding:31px 0 10px}.waiting-art svg{margin:auto auto 16px}.waiting-art span{letter-spacing:2px;font:13px/1.9 Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif;display:block}.note{padding:25px 10px}.note>span{font-size:12px}.note p{color:#938c7d;font-size:11px;line-height:2}.note small{color:#a69e8f;font-size:10px}.recommend{border-bottom:1px solid #dbd6c8;gap:12px;padding:15px 0;display:flex}.rank{color:#ad9b7e;font:italic 20px Georgia,serif}.recommend b{font-size:12px;font-weight:500}.recommend small{color:#827968;font-size:11px;display:block}.recommend em{color:var(--green);margin-top:4px;font-size:10px;font-style:normal;display:block}.text-button{color:var(--red);background:0 0;border:0;padding:16px 0 0;font-size:11px}.hint{color:#a2784b;margin-bottom:12px;font-size:11px}.empty{text-align:center;color:var(--muted);padding:50px}.error{color:var(--red);background:#f9e8e2;padding:15px}.error button{margin-left:15px}.recovery{border-top:1px solid var(--line);color:var(--muted);padding:14px 0;font-size:10px}.recovery summary{cursor:pointer;align-items:center;gap:5px;display:flex}.recovery code{overflow-wrap:anywhere;display:block}.recovery button{border:1px solid var(--line);background:0 0;border-radius:3px;margin-top:8px;padding:4px 8px;font-size:10px}footer{color:#999184;align-items:center;gap:25px;padding:40px 0 30px;font-size:10px;display:flex}footer span:first-child{color:#756a56;font:13px Songti SC,Noto Serif CJK SC,Source Han Serif SC,serif}footer small{margin-left:auto;font-size:10px}.toast{color:#fff;z-index:10;background:#34382e;border-radius:7px;align-items:center;gap:20px;width:max-content;max-width:calc(100% - 30px);padding:14px 18px;font-size:12px;display:flex;position:fixed;bottom:25px;left:50%;transform:translate(-50%);box-shadow:0 8px 25px #0002}.toast button{color:#fff;background:0 0;border:0;font-size:20px}.results-scroll{margin-top:25px;margin-bottom:20px;overflow:auto}table{border-collapse:collapse;width:100%;font-size:11px}th,td{border-bottom:1px solid var(--line);text-align:center;padding:12px 6px}th{font-weight:500}th:first-child{text-align:left;min-width:125px}th small{color:var(--muted);font-size:10px;font-weight:400;display:block}.status{color:#aaa397;white-space:nowrap}.status.yes{color:var(--green)}.status.maybe{color:var(--amber)}.common-row{background:#eaf0e6}thead{background:#f2efe7}@media (min-width:1000px){aside{position:sticky;top:20px}}@media (max-width:1000px){.workspace{grid-template-columns:minmax(0,1fr) 235px;gap:20px}.schedule,.form-top,.results{padding-left:18px;padding-right:18px}.schedule-head,.date-row{grid-template-columns:75px repeat(4,minmax(0,1fr))}.slot button{width:65px}.hero,.progress{gap:30px}.person{gap:7px}}@media (max-width:780px){header{height:80px;padding:0 20px}main{padding:0 20px}.hero{grid-template-columns:1.2fr 1fr;gap:20px;padding:35px 0}h1{font-size:30px}.hero-art{height:240px}.art-word{letter-spacing:7px;font-size:28px}.art-stamp{font-size:12px;top:20px;right:13px}.intro{font-size:11px}.hero-meta{flex-direction:column;gap:8px;margin-top:18px}.eyebrow{letter-spacing:1px;margin-bottom:15px;font-size:9px}.workspace{grid-template-columns:1fr}.progress{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:25px}.people{gap:8px;width:100%}.person{gap:8px}.avatar{flex-shrink:0;width:33px;height:33px}.person b{font-size:10px}.person small{font-size:9px}.progress strong{margin-left:16px;font-size:19px;display:inline}.schedule-head,.date-row{grid-template-columns:80px repeat(4,minmax(0,1fr))}.slot button{width:82%;max-width:95px}.summary h2 br,.waiting-art{display:none}aside{grid-template-columns:1.3fr 1fr;gap:15px;display:grid}.note{padding:20px 5px}footer{flex-wrap:wrap;gap:12px}footer small{width:100%;margin:0}}@media (max-width:480px){header{padding:0 16px}.brand{gap:9px;font-size:12px}.brand small{letter-spacing:1px;font-size:6px}.seal{font-size:26px}.share{padding:7px 9px;font-size:10px}main{padding:0 12px}.hero{grid-template-columns:1fr 105px;gap:8px;padding:30px 4px}.hero-art{height:170px}.hero-art img{width:125%;max-width:none;height:100%}.art-word{letter-spacing:2px;font-size:16px;top:10px;left:10px}.art-caption{display:none}.art-stamp{padding:4px;font-size:10px;top:auto;bottom:9px;right:8px}h1{font-size:28px;line-height:1.5}.intro{font-size:10px}.hero-meta{gap:6px;font-size:10px}.hero-meta svg{width:13px}.people{grid-template-columns:repeat(4,1fr);gap:2px;display:grid}.person{text-align:center;flex-direction:column;align-items:center;gap:5px}.progress{padding:20px 4px}.tabs{gap:20px;padding:0 16px}.tabs button{font-size:12px}.form-top,.schedule,.results{padding-left:12px;padding-right:12px}.step-title p{font-size:10px}.step-title{gap:9px}.role-grid{gap:6px}.role{padding:9px 7px;font-size:11px}.role small{font-size:9px}.schedule-head,.date-row{grid-template-columns:64px repeat(4,minmax(0,1fr))}.schedule-head>span,.schedule-head small{font-size:9px}.date{padding:6px}.date b{font-size:11px}.date span{font-size:9px}.slot{padding:7px 1px}.slot button{gap:2px;width:95%;padding:4px 0;font-size:9px}.slot svg{width:10px}.date-row{min-height:77px}.name-label{gap:10px;font-size:10px}.name-label input{font-size:12px}.primary{gap:10px;padding:12px 15px}aside{grid-template-columns:1fr}.note{padding:10px}.summary{padding:20px}.summary h2{font-size:21px}.summary p{font-size:12px}.note p{font-size:11px}.results{padding:24px 9px 0}th,td{padding:10px 4px;font-size:10px}th:first-child{min-width:100px}footer{padding:28px 4px}h1{font-size:clamp(21px,6vw,25px)}.hero{grid-template-columns:minmax(0,1fr) 100px}}
