:root{font-family:ui-rounded,'Hiragino Maru Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:#554638;background:#f6eee1}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 8% 4%,#fff9e9,transparent 37%),#f6eee1}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e7a665;outline-offset:3px}[hidden]{display:none!important}.wrap{max-width:1180px;padding:0 24px 72px;margin:auto}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:80px}.brand{font-size:clamp(15px,2vw,21px);font-weight:900}.brand span{display:inline-grid;place-items:center;background:#a57053;color:white;border-radius:13px;width:37px;height:37px;margin-right:6px}.button{border:2px solid #a36c4f;border-radius:24px;background:#a36c4f;color:white;font-weight:800;padding:11px 19px;min-height:45px}.button:hover{filter:brightness(1.1)}.button.ghost{color:#835c45;background:#fff9ef;border-color:#e0cdb1}.text-button{border:0;background:none;color:#865a42;text-decoration:underline;text-underline-offset:4px;font-weight:800;padding:13px 0}.panel,.metric,.hero{background:#fff9ed;border:3px solid #e7d5ba;box-shadow:0 8px 0 #dac5a655;border-radius:29px}.panel{padding:24px 30px;margin:27px 0;line-height:1.7}.panel h2{margin:0 0 13px;font-size:clamp(20px,3vw,26px)}.panel p{color:#756858}.auth{max-width:620px;margin:45px auto;position:relative;overflow:hidden;padding:36px}.auth>*:not(.sun){position:relative}.auth h1{font-size:clamp(27px,4vw,39px);margin:0}.sun{position:absolute;width:200px;height:200px;top:-110px;right:-44px;border-radius:50%;background:#ffe2a9;opacity:.75}.hero{position:relative;overflow:hidden;padding:36px 42px;background:linear-gradient(120deg,#fff8e9,#e4eecf);min-height:178px}.hero h1,.hero p{position:relative;max-width:75%;margin:0}.hero h1{font-size:clamp(27px,4vw,43px)}.hero p{margin-top:15px;color:#6f7766}.summary{display:grid;grid-template-columns:1fr;gap:16px;margin:30px 0}.metric{min-height:108px;display:flex;flex-direction:column;justify-content:center;padding:16px 23px}.metric strong{font-size:clamp(21px,3vw,32px);color:#9c6d4c}.metric small{font-size:12px;margin-top:7px}.scene{position:relative;overflow:hidden;isolation:isolate;min-height:500px;padding:87px 23px 36px;border:5px solid #e6d8bf;border-radius:34px;background:repeating-linear-gradient(180deg,#d7ede3 0,#e0efd9 220px,#b0d3a7 440px,#d7ede3 650px);box-shadow:0 15px 0 #d9c29d,0 24px 28px #846c4b35}.scenery{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:-1}.cloud{position:absolute;top:48px;left:18%;height:35px;width:125px;background:#fffef0a9;border-radius:50px;box-shadow:25px -18px 0 6px #fffef095}.tree{position:absolute;top:57px;width:110px;height:145px}.tree:before{content:'';position:absolute;left:48px;bottom:0;width:18px;height:90px;background:#927251;border-radius:20px}.tree:after{content:'';position:absolute;top:0;width:110px;height:110px;border-radius:48%;background:radial-gradient(circle at 38% 25%,#b6d89f,#71a87a);box-shadow:8px 14px 0 #6b9c77}.tree-left{left:-34px}.tree-right{right:-22px;transform:scale(1.3)}.cottage{position:absolute;right:20%;top:77px;width:98px;height:78px;border-radius:10px;background:#fff2d0;border-top:30px solid #c58065;transform:rotate(3deg);box-shadow:7px 10px 0 #79956a66}.cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:17px 13px}.friend{min-width:0;min-height:232px;display:flex;flex-direction:column;align-items:center;justify-content:end;padding:12px 8px 14px;background:#fff9eede;border-radius:46% 47% 28px 28px / 25% 27% 28px 28px;box-shadow:0 9px 9px #4b70483d;text-align:center}.friend:nth-child(even){transform:translateY(9px) rotate(1deg)}.friend img{max-width:100%;height:117px;object-fit:contain;filter:drop-shadow(2px 6px 3px #766e5655)}.friend.locked img{filter:grayscale(.8);opacity:.28}.friend .ordinal{font-size:11px;color:#896f5e;font-weight:800}.friend .goal{font-size:12px;font-weight:800;line-height:1.35;min-height:2.7em;overflow-wrap:anywhere}.friend .status{display:block;margin-top:7px;background:#d3e8c5;color:#50764f;border-radius:20px;font-size:11px;padding:4px 11px;font-weight:800}.friend.locked .status{background:#ede5d4;color:#756d61}.leaders{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.leader-item{padding:13px;background:#fffdf4;border:2px solid #ebdcc6;border-radius:16px;overflow-wrap:anywhere}form:not(#logout-form){display:flex;flex-direction:column;gap:13px;max-width:700px}form+form{border-top:1px solid #e8d9c5;padding-top:20px;margin-top:20px}label{display:flex;flex-direction:column;gap:5px;font-weight:800}label.check{flex-direction:row;align-items:center}input:not([type=checkbox]),select{border:2px solid #d8c1a4;border-radius:13px;background:#fff;padding:10px 12px;min-height:46px;color:inherit;width:100%;max-width:550px}input[type=checkbox]{width:20px;height:20px;accent-color:#8a6847}.actions{display:flex;flex-wrap:wrap;gap:8px}.actions button{flex:1;min-width:140px}#message{min-height:1.4em;color:#526b48}#message.error{color:#9f3c35}.admin{border-color:#c5ae94}@media(max-width:850px){.cards{grid-template-columns:repeat(3,minmax(0,1fr))}.leaders{grid-template-columns:1fr}}@media(max-width:590px){.wrap{padding:0 12px 55px}.top{min-height:66px}.brand span{width:30px;height:30px}.hero{padding:27px 22px;min-height:160px}.hero h1,.hero p{max-width:100%}.hero p{font-size:13px}.summary{grid-template-columns:1fr;gap:10px;margin:21px 0}.metric{min-height:85px}.scene{padding:66px 9px 28px;border-width:3px;border-radius:22px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.friend{min-height:196px;padding:8px 5px 12px}.friend img{height:96px}.friend .goal{font-size:11px}.panel{padding:19px 16px}.auth{margin:20px auto}.tree-right{right:-62px}.cottage{right:16%;transform:scale(.65);transform-origin:top right}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.operator-preview{margin:20px 0;padding:18px;border:2px solid #e7d5ba;border-radius:20px;background:#fffdf7}.operator-preview h3{margin:12px 0}.operator-preview .cards{margin:16px 0;max-height:400px;overflow:auto}.operator-preview #preview-history{max-height:240px;overflow:auto}.operator-preview #preview-name{overflow-wrap:anywhere}
