:root{--forest:#14382d;--green:#276c52;--ink:#17291f;--muted:#69796e;--bg:#f5f6f2;--line:#dce6da;--pale:#e8f2e9;--card:#fff;--gold:#c69031}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans SC",Arial,sans-serif;line-height:1.53}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:not-allowed}a{color:var(--green)}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #88b79c;outline-offset:2px}
.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:10px 24px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:8;gap:10px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);min-width:0}.brand b{font-size:18px;display:block;line-height:1.25}.brand small{display:block;font-size:12px;color:#718479;margin-top:2px}.logo{display:grid;place-items:center;flex-shrink:0;height:43px;width:43px;background:#285e47;color:#fff;font-weight:800;border-radius:13px;font-size:21px}.header-actions{display:flex;align-items:center;gap:10px}.status-tag{font-size:12px;color:#2a6149;background:#e9f4ea;border-radius:99px;padding:7px 10px;white-space:nowrap}.avatar{border:1px solid #d6e4d6;border-radius:100%;background:#f1f7f1;width:38px;height:38px}.shell{display:flex;min-height:calc(100dvh - 76px)}.sidebar{width:248px;flex-shrink:0;background:var(--forest);color:#f4f8f3;padding:24px 12px 16px;position:sticky;top:76px;height:calc(100dvh - 76px);display:flex;flex-direction:column}.sidebar[hidden]{display:none}.sidebar h2{color:#a6cbb3;font-size:12px;text-transform:uppercase;letter-spacing:.12em;padding:4px 14px 10px}.sidebar nav{display:grid;gap:6px}.sidebar button{display:flex;align-items:center;gap:12px;text-align:left;padding:12px 14px;background:transparent;color:#edf6ed;border:0;border-radius:11px;font-size:15px;font-weight:650}.sidebar button.active{background:#355b47}.sidebar button:hover{background:#2b4d3d}.side-note{margin-top:auto;border:1px solid #436754;padding:11px;border-radius:11px;font-size:12px;color:#c7dbc9}.content{width:100%;max-width:1120px;padding:27px 26px 72px;margin:0 auto}.bottom-nav{display:none}.hero{background:linear-gradient(120deg,#e9f3e2,#f4e8f1);padding:27px 31px;border-radius:22px;margin-bottom:18px}.hero h1{font-size:clamp(25px,3vw,36px);line-height:1.22;margin:9px 0 10px}.hero p{margin:7px 0;color:#556a5b}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:750;color:#599372}.pill{display:inline-flex;background:#e5f2e6;color:#2c6548;border-radius:99px;padding:5px 10px;font-size:12px;font-weight:700}.pill.gold{background:#fff4da;color:#855e21}.pill.gray{background:#eef1ec;color:#5c6f61}.card{padding:24px;border:1px solid var(--line);border-radius:20px;background:var(--card);box-shadow:0 10px 29px #1c45200b;margin-bottom:17px;min-width:0}.card h2{font-size:21px;line-height:1.3;margin:0 0 13px}.card h3{font-size:16px;margin:0 0 7px}.card p{margin:7px 0}.loading{padding:40px;text-align:center;color:var(--muted)}.muted{color:var(--muted)}.tiny{font-size:12px;color:var(--muted)}.strong{font-weight:750}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.wrap{display:flex;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:11px;border:0;background:var(--green);color:#fff;font-weight:750;padding:11px 15px;text-decoration:none;min-height:43px;gap:7px}.btn.ghost{background:#e7f1e8;color:#205138}.btn.line{background:#fff;border:1px solid var(--line);color:#2a4d39}.btn.full{width:100%}.btn:hover:not(:disabled){filter:brightness(.95)}.label{font-size:13px;font-weight:750;display:block;margin:12px 0 6px}.field{display:block;border:1px solid #cbdccc;background:#fff;border-radius:11px;min-height:43px;padding:11px 12px;width:100%;color:var(--ink)}textarea.field{min-height:85px;resize:vertical}.sep{height:1px;background:var(--line);margin:19px 0}.notice{background:#f1f7ef;padding:12px 14px;border-radius:11px;border:1px solid #d3e6d3;margin:14px 0;font-size:13px}.warn{background:#fff7e8;padding:12px 14px;border-radius:11px;border:1px solid #ead8af;margin:14px 0;font-size:13px}.err{background:#fff0ed;padding:12px 14px;border-radius:11px;border:1px solid #efc5bf;color:#a63126;margin:14px 0;font-size:13px}.house-banner{background:linear-gradient(110deg,#f4e2f8,#fce7dc);padding:25px;border-radius:21px;display:flex;gap:23px;align-items:center;margin-bottom:18px}.house-art{height:155px;width:155px;flex-shrink:0;background:#ffffff92;border:1px solid #ffffffa8;border-radius:24px;display:grid;place-items:center}.house-art img{height:94%;width:94%;object-fit:contain}.house-copy{flex:1;min-width:0}.house-copy h1{margin:6px 0 7px;font-size:30px}.house-copy p{margin:4px 0 13px;color:#5d6d5e}.house-thumb{width:83px;height:83px;flex-shrink:0;border-radius:15px;background:#eff5ec;display:grid;place-items:center}.house-thumb img{width:95%;height:95%;object-fit:contain}.room-line{display:flex;align-items:center;gap:13px}.room-line>div:last-child{min-width:0}.room-title{font-weight:800;font-size:19px;line-height:1.26}.room-sub{font-size:13px;color:var(--muted)}.q-item{padding:13px 0;border-bottom:1px solid var(--line)}.q-item:last-child{border:0}.q-item .meta{font-size:12px;color:#73897c}.q-item .question{font-size:16px;font-weight:730;margin:5px 0}.q-block{padding:17px 0;border-bottom:1px solid var(--line)}.q-block:last-child{border-bottom:0}.q-block h3{margin:0 0 10px}.answers{display:grid;gap:9px;margin:13px 0}.answers label{background:#f4f8f4;padding:10px;border-radius:9px;display:flex;gap:7px}.answers label input{flex-shrink:0}.q-opt-fields[hidden]{display:none}.metric{border:1px solid var(--line);border-radius:16px;padding:17px;background:#fff}.metric span{font-size:12px;color:var(--muted)}.metric strong{display:block;font-size:27px;margin-top:3px}.mini-room{padding:17px;border:1px solid var(--line);border-radius:16px;background:white;min-width:0}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:17px 0}.banner-mini{background:#eef5eb;border:1px solid #d7e4d2;padding:16px;border-radius:15px}.tag{font-size:12px;padding:4px 8px;background:#eef4eb;border-radius:8px;color:#386049}.timeline{border-left:2px solid #d4e6d5;margin:16px 0 8px 9px;padding-left:20px}.timeline .entry{position:relative;padding:0 0 20px}.timeline .entry:before{position:absolute;content:'';left:-27px;top:8px;height:11px;width:11px;background:#3b8561;border-radius:50%}.rank-tabs{display:flex;gap:8px;margin:14px 0}.rank-tabs button{padding:8px 13px;background:#e9f0e9;color:#2e5a42;border:0;border-radius:10px;font-weight:700}.rank-tabs button.active{background:#285f47;color:#fff}.rank-row{display:flex;align-items:center;gap:12px;border-bottom:1px solid #e8eee7;padding:13px 3px}.rank-row:last-child{border:0}.rank-pos{min-width:34px;font-size:20px;color:#659477;font-weight:850}.rank-data{flex:1;min-width:0}.rank-value{font-weight:800;font-size:19px}.response-box{background:#f3f6f1;border-radius:9px;padding:12px;white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0}.small-code{overflow-wrap:anywhere;font-size:12px}.center{text-align:center}.section-title{font-size:22px;margin:13px 0}.draft-help{font-size:12px;color:#65826c}.empty-state{text-align:center;padding:28px 20px}.empty-state .emoji{font-size:43px}.loading{min-height:110px}.sharebtn{flex-shrink:0}
@media(max-width:900px){.sidebar{width:213px}.content{padding:23px 19px 70px}.house-art{width:124px;height:124px}}
@media(max-width:700px){.topbar{height:73px;padding:9px 13px}.brand{gap:9px}.brand b{font-size:15px}.brand small{font-size:10px}.logo{height:41px;width:41px}.status-tag{font-size:11px;padding:6px 9px}.sidebar{display:none!important}.content{padding:17px 12px 112px}.bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;bottom:0;left:0;right:0;z-index:9;background:#fff;border-top:1px solid var(--line);padding:8px 5px calc(8px + env(safe-area-inset-bottom));gap:3px}.bottom-nav[hidden]{display:none}.bottom-nav button{border:0;background:transparent;border-radius:12px;display:grid;justify-items:center;gap:1px;font-size:23px;padding:7px 1px 5px}.bottom-nav button span{font-size:11px;font-weight:750;color:#4c6b57}.bottom-nav button.active{background:#e5f2e8}.hero{padding:20px 18px;margin-bottom:13px}.hero h1{font-size:26px}.house-banner{display:flex;gap:13px;padding:17px;border-radius:18px}.house-art{width:95px;height:98px;border-radius:17px}.house-copy h1{font-size:20px}.house-copy .btn{font-size:13px}.house-copy p{font-size:13px}.card{padding:18px;border-radius:17px;margin-bottom:13px}.card h2{font-size:19px}.grid,.grid.three{grid-template-columns:1fr}.grid.mobile-two{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.metric{padding:12px 9px}.metric strong{font-size:22px}.metric span{font-size:11px}.house-thumb{width:70px;height:70px}.room-title{font-size:17px}.btn{padding:10px 12px}.section-title{font-size:19px}}
@media(max-width:375px){.brand b{font-size:13px}.brand small{font-size:9px}.status-tag{font-size:10px;padding:5px 6px}.house-art{width:73px;height:77px}.house-copy h1{font-size:18px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* V1.5: Survey statistics and flexible owner rating */
.poll-label{display:flex;justify-content:space-between;gap:10px;font-size:13px;margin:13px 0 5px}
.poll-track{height:10px;background:#e9eee8;border-radius:10px;overflow:hidden}
.poll-bar{height:100%;background:#3c8963;border-radius:10px}
.heart-label{display:flex;align-items:center;gap:9px;padding:10px 0;font-weight:650;font-size:14px}
.rating-form{background:#f6faf4;border:1px solid #dae8db;padding:12px;border-radius:13px;margin-top:12px}
.rank-tabs{flex-wrap:wrap}
[data-correct-for][hidden]{display:none}

/* V1.5.1 bilingual selector */
.language-choice select{border:1px solid #d3e2d5;border-radius:12px;background:#fff;color:#285640;padding:7px 8px;font-size:13px;font-weight:750;min-height:37px;max-width:102px;cursor:pointer}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.diag-side{display:inline-block;color:#dbeadc;margin-top:12px}.topbar .header-actions{gap:7px}
@media(max-width:460px){.topbar .status-tag{display:none}.language-choice select{max-width:88px;font-size:12px;padding:6px}.brand b{font-size:14px}}
