/* Campus: one stage, a compact identity rail, and a collection underneath. */
.campus-shell{--campus-ink:#174851;--campus-muted:#596c6c;--campus-line:#a58a5366;--campus-panel:#fff7eab8;max-width:1480px;margin-inline:auto;color:var(--campus-ink)}
.campus-heading{display:flex;gap:24px;justify-content:space-between;align-items:center;margin:8px 0 22px}
.campus-heading h1{font-size:clamp(26px,2.5vw,39px);line-height:1.14;max-width:760px;margin:7px 0 9px}
.campus-heading p{margin:0;max-width:720px;color:var(--campus-muted)}
.campus-heading>.soft-btn{flex:none;font-size:14px}
.campus-tabs{display:flex;flex-wrap:wrap;gap:10px;padding:10px;margin-bottom:22px;background:linear-gradient(115deg,#fff9,#ffffff1a);border:1px solid #fff8;border-radius:28px;box-shadow:inset 0 1px #fff9,0 5px 18px #836c3b0d;backdrop-filter:blur(8px)}
.campus-tabs .soft-btn{min-height:42px;padding:8px 21px;flex:1;white-space:nowrap;text-align:center}
.campus-tabs .active{color:#fff!important;background:linear-gradient(#55b4bb,#137784)!important}
.campus-tabs .active .wc-ref-surface{background-color:#167f8a}
html body:is(.watercolor-home,.watercolor-cabinet) #app .campus-tabs a[aria-current=page],html body:is(.watercolor-home,.watercolor-cabinet) #app .campus-tabs a[aria-current=page]>.wc-button-label{color:#fff7dc!important;text-shadow:0 1px 2px #13434e!important}
html body:is(.watercolor-home,.watercolor-cabinet) #app .campus-tabs a[aria-current=page]>.wc-ref-surface{background:radial-gradient(ellipse 45% 8% at 28% 5%,#f5fffecb,transparent),linear-gradient(175deg,#7ecbd0,#23899a 46%,#176979)!important}
.campus-room-layout{display:grid;grid-template-columns:minmax(0,1fr) 270px;gap:22px;align-items:stretch}
.campus-room-art{position:relative;isolation:isolate;aspect-ratio:1000/640;min-width:0;align-self:start;border-radius:22px;overflow:hidden;background:radial-gradient(ellipse at 50% 53%,#fff3c6a8,#e2dbc152 65%,transparent 75%);border:1px solid #c4aa744a;box-shadow:inset 0 0 28px #b4934320,0 7px 22px #826a3010}
.campus-room-base{position:absolute;inset:0;width:100%;height:100%}
.campus-wall-pattern{opacity:0}
.campus-window-moon{opacity:0}
.campus-furnishing{position:absolute;display:block;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;padding:0!important;appearance:none;min-width:0;min-height:0;isolation:isolate;color:var(--campus-ink);transition:filter .2s,transform .2s;transform-origin:50% 85%;cursor:inherit}
button.campus-furnishing{cursor:pointer}
.campus-furnishing:hover,.campus-furnishing:focus-visible{filter:drop-shadow(0 0 7px #fff9cf);transform:translateY(-3px)}
.campus-furnishing:focus-visible{outline:2px solid #139aa4!important;outline-offset:4px}
.campus-item-art{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.campus-slot-rug{left:28%;top:61%;width:39%;height:26%;z-index:1}
.campus-slot-display{left:10%;top:27%;width:24%;height:36%;z-index:2}
.campus-slot-desk{left:59%;top:42%;width:30%;height:33%;z-index:3}
.campus-slot-plant{left:81%;top:40%;width:16%;height:31%;z-index:4}
.campus-slot-lamp{left:12%;top:46%;width:15%;height:33%;z-index:4}
.campus-slot-chair{left:61%;top:60%;width:17%;height:32%;z-index:5}
.campus-furnishing-label{position:absolute;bottom:0;left:50%;transform:translate(-50%,90%);width:max-content;max-width:190px;white-space:normal;font:12px/1.2 Georgia,serif;color:#fff;background:#174951ec;padding:6px 9px;border:1px solid #dcc382;border-radius:8px;opacity:0;pointer-events:none;transition:opacity .15s;box-shadow:0 4px 10px #0002;z-index:10}
.campus-furnishing:hover .campus-furnishing-label,.campus-furnishing:focus-visible .campus-furnishing-label{opacity:1}
.campus-scene-caption{position:absolute;bottom:2%;left:20%;right:20%;text-align:center;font-size:clamp(9px,.9vw,13px);line-height:1.2;color:#694f35;padding:7px 8px;background:#fff4d699;border-radius:20px;pointer-events:none}
.campus-scene-caption>span{color:#977740;margin-right:6px}
.campus-room-identity{padding:24px 20px;background:var(--campus-panel);border:1px solid var(--campus-line);border-radius:20px;display:flex;flex-direction:column;align-items:stretch;min-width:0;box-shadow:inset 0 1px #fff8,0 6px 16px #63532c0c}
.campus-room-identity .eyebrow{font-size:10px;letter-spacing:.12em}
.campus-room-identity h2{font-size:28px;line-height:1.08;margin:8px 0}
.campus-owner{margin:0 0 22px!important;color:var(--campus-muted)}
.campus-room-number{display:grid;grid-template-columns:1fr;gap:6px;padding-bottom:16px;border-bottom:1px solid var(--campus-line)}
.campus-room-number>small{font-size:12px;color:var(--campus-muted)}
.campus-room-number>b{font:700 27px/1.1 Georgia,serif;letter-spacing:.06em;overflow-wrap:anywhere}
.campus-room-number>.soft-btn{align-self:start;justify-self:start;font-size:12px;min-height:27px;padding:5px 13px;margin-top:6px}
.campus-small{font-size:13px;line-height:1.5;color:var(--campus-muted);margin:15px 0}
.campus-room-progress{display:flex;justify-content:space-between;gap:8px;font-size:13px;margin:4px 0 7px}
.campus-room-layout:has(.campus-closed-room) :is(.campus-room-progress,.campus-comfort,.campus-room-call){display:none}
.campus-comfort{height:7px;background:#7c918322;border-radius:20px;margin:0 0 17px;box-shadow:inset 0 1px 2px #22333320}
.campus-comfort>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#5bbab4,#c8d7a2)}
.campus-room-identity>a.soft-btn{font-size:13px;padding:8px 12px}
.campus-room-call{display:grid;gap:9px;margin:22px 0 10px}
.campus-room-call button{font-size:14px;line-height:1.2;min-height:46px;padding:9px 13px;white-space:normal}
.campus-room-call>small{font-size:11px;line-height:1.4;color:var(--campus-muted)}
.campus-room-identity>[data-campus-act=leave]{margin-top:14px;font-size:12px}
.campus-next-details,.campus-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:23px 0 9px;padding:21px 25px;border-block:1px solid var(--campus-line)}
.campus-next-details h2,.campus-section-heading h2{font-size:25px;line-height:1.15;margin:6px 0 8px}
.campus-next-details p{font-size:14px;line-height:1.5;max-width:760px;margin:0;color:var(--campus-muted)}
.campus-next-details>a,.campus-section-heading>a{flex:none;font-size:15px;padding-inline:22px}
.campus-section-heading{padding:20px 0;border-top:0}
.campus-slot-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.campus-slot-tabs button{font-size:13px;padding:7px 13px;min-height:34px}
.campus-slot-tabs button[aria-pressed=true]{outline:1px solid #198d95;outline-offset:2px}
.campus-item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.campus-collection-item{display:grid;grid-template-columns:105px 1fr;align-items:center;gap:13px;padding:15px;background:var(--campus-panel);border:1px solid var(--campus-line);border-radius:16px;min-width:0}
.campus-collection-item.is-equipped{border-color:#599d9980}
.campus-collection-item small{font-size:11px;color:var(--campus-muted)}
.campus-collection-item h3{font-size:17px;line-height:1.2;margin:5px 0 10px}
.campus-collection-item button{font-size:12px;white-space:normal;min-height:33px;padding:6px 12px}
.campus-item-picture{height:110px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse,#f0deb774,transparent 70%)}
.campus-interior{scroll-margin-top:24px}
.campus-social-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:23px}
.campus-social-card{padding:27px;background:var(--campus-panel);border:1px solid var(--campus-line);border-radius:20px}
.campus-social-card h2{font-size:27px;margin:7px 0 16px}
.campus-social-card p{font-size:15px;color:var(--campus-muted);line-height:1.5}
.campus-shell label{display:grid;gap:7px;font-size:13px;min-width:0}
.campus-shell input,.campus-shell select{width:100%;min-width:0;min-height:43px;border:1px solid var(--campus-line);border-radius:10px;background:#fffffe83;color:var(--campus-ink);padding:9px 12px;font:inherit}
.campus-shell input:focus,.campus-shell select:focus{outline:2px solid #239aa3;outline-offset:2px}
.campus-social-card form{display:grid;gap:15px;margin-top:20px}
.campus-social-card form>.primary{justify-self:start;padding-inline:23px}
.campus-form-error{color:#a6473e!important;font-size:13px!important;margin:0!important;line-height:1.35;min-height:1em}
.campus-guest-list{display:grid;gap:12px;margin:10px 0 20px}
.campus-guest{display:flex;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid var(--campus-line)}
.campus-guest>div{min-width:0;flex:1;display:grid;gap:5px}
.campus-guest>div:last-child{flex:0;gap:7px}
.campus-guest strong{font-size:16px}
.campus-guest small{font-size:12px;color:var(--campus-muted)}
.campus-guest button{font-size:12px;white-space:nowrap;min-height:32px;padding:7px 12px}
.campus-guest-avatar{display:grid;place-items:center;width:38px;height:38px;border:1px solid #ceb471;border-radius:50%;color:#55908b;background:#ede6cf;font-size:22px;flex:none}
.campus-empty{text-align:center;grid-column:1/-1;padding:28px 20px;color:var(--campus-muted)}
.campus-empty>span{font-size:44px;color:#74a79c}
.campus-empty h3{color:var(--campus-ink);font-size:22px}
.campus-empty p{max-width:340px;margin:10px auto 17px;line-height:1.5}
.campus-empty-note{padding:16px 0}
.campus-visit-form{display:flex;justify-content:space-between;gap:30px;align-items:center;padding:29px;background:var(--campus-panel);border:1px solid var(--campus-line);border-radius:20px;margin-bottom:22px}
.campus-visit-form h2{font-size:29px;line-height:1.15;margin:8px 0}
.campus-visit-form p{max-width:450px;color:var(--campus-muted);font-size:15px;line-height:1.5}
.campus-visit-form form{display:grid;grid-template-columns:minmax(130px,1fr) auto;gap:12px;align-items:end;width:44%;min-width:330px}
.campus-visit-form form button{min-height:43px;font-size:14px;padding-inline:16px}
.campus-visit-form .campus-form-error{grid-column:1/-1}
.campus-visit-empty{padding:65px 24px;text-align:center;background:radial-gradient(ellipse,#daebe82a,transparent 70%)}
.campus-visit-empty p{font-size:16px;line-height:1.6;color:var(--campus-muted)}
.campus-visit-stars{font-size:45px;letter-spacing:.2em;color:#b6a572;margin-bottom:17px}
.campus-closed-room{padding:35px 25px;text-align:center;border:1px solid var(--campus-line);border-radius:20px;background:radial-gradient(ellipse at 50% 38%,#dfd5ac4d,transparent 70%)}
.campus-closed-room h2{font-size:29px;margin:6px 0}
.campus-closed-room p{max-width:390px;margin:13px auto 20px;line-height:1.5;color:var(--campus-muted)}
.campus-door{position:relative;display:grid;place-items:center;margin:0 auto 20px;width:112px;height:168px;border-radius:60px 60px 3px 3px;border:7px solid #d5be94;background:repeating-linear-gradient(90deg,transparent 0 20px,#183b4120 21px 22px),linear-gradient(120deg,#57989a,#295c68);box-shadow:inset 0 0 0 2px #e3c77f,0 9px 19px #123b4022;color:#ecd498;font-size:40px}
.campus-door i{position:absolute;right:13px;top:99px;width:8px;height:8px;border-radius:50%;background:#e0bc68;box-shadow:0 1px 4px #142c30}
.campus-status{display:inline-flex;padding:9px 15px;border:1px solid #99b0a2;border-radius:20px;color:var(--campus-ink);font-size:14px}
.campus-gift-review{text-align:center;max-width:460px;margin:auto}
.campus-gift-art{width:180px;height:160px;margin:0 auto 14px}
.campus-gift-review h3{font-size:25px;margin:7px 0 12px}
.campus-gift-review p{line-height:1.5;font-size:15px}
.campus-gift-review .form-actions{justify-content:center;margin-top:22px;gap:12px}
.campus-gift-history{margin-top:28px;border-top:1px solid var(--campus-line);padding-top:20px}
.campus-gift-history h2{font-size:25px;margin:0 0 16px}
.campus-gift-history>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.campus-gift-history article{display:flex;gap:13px;align-items:center;border:1px solid var(--campus-line);border-radius:13px;padding:12px 16px;background:var(--campus-panel)}
.campus-gift-history img{width:64px;height:64px;flex:none}
.campus-gift-history article>div{flex:1;min-width:0}
.campus-gift-history strong{font-size:16px}
.campus-gift-history p{font-size:13px;color:var(--campus-muted);margin:4px 0}
.campus-gift-history small{font-size:11px;color:var(--campus-muted)}
.campus-gift-history article>span{font-size:11px;color:var(--campus-muted)}
.campus-loading{min-height:180px;display:grid;place-content:center;text-align:center}
html[data-theme=dark] .campus-shell{--campus-ink:#f1e8ca;--campus-muted:#b9ccca;--campus-line:#bba57555;--campus-panel:#153b4496}
html[data-theme=dark] .campus-tabs{background:linear-gradient(110deg,#c1efec20,#102f3a55);border-color:#aeebe933;box-shadow:inset 0 1px #c6ffff35,0 6px 20px #001c281f}
html[data-theme=dark] .campus-shell input,html[data-theme=dark] .campus-shell select{background:#0b2a34;color:#f1e8ca}
html[data-theme=dark] .campus-room-art{background:radial-gradient(ellipse at 50% 53%,#407a7e26,#153c4542 65%,transparent 75%);border-color:#c4aa743a}
html[data-theme=dark] .campus-back-wall,.campus-starry-room .campus-back-wall{fill:#2d5a65}
html[data-theme=dark] .campus-wall-pattern,.campus-starry-room .campus-wall-pattern{opacity:.8}
html[data-theme=dark] .campus-window-sky{fill:#183e62}
html[data-theme=dark] .campus-window-moon{opacity:1}
html[data-theme=dark] .campus-scene-caption{background:#153842c9;color:#eee1b9}
html[data-theme=dark] .campus-light-pool{opacity:.3}
html[data-theme=dark] .campus-room-identity{box-shadow:inset 0 1px #eaffff0f,0 6px 16px #001a251f}
html[data-theme=dark] .campus-form-error{color:#ffc1a9!important}
@media(min-width:1250px){.campus-room-layout{grid-template-columns:minmax(0,1fr) 300px}.campus-room-identity{padding:26px}.campus-room-call{margin-top:auto;padding-top:25px}}
@media(max-width:1000px){.campus-room-layout{grid-template-columns:minmax(0,1fr) 245px;gap:16px}.campus-room-identity{padding:18px 16px}.campus-room-identity h2{font-size:24px}.campus-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.campus-social-grid{gap:16px}.campus-social-card{padding:22px}.campus-visit-form{padding:22px;gap:20px}.campus-visit-form form{min-width:270px;grid-template-columns:1fr}.campus-room-call{margin-top:14px}.campus-heading h1{font-size:31px}}
@media(max-width:760px){.campus-heading{align-items:flex-start;gap:16px}.campus-heading h1{font-size:29px}.campus-heading>.soft-btn{font-size:12px;padding-inline:12px}.campus-room-layout{grid-template-columns:1fr}.campus-room-identity{display:grid;grid-template-columns:1fr 1fr;column-gap:22px;align-items:start;padding:22px}.campus-room-identity>.eyebrow,.campus-room-identity>h2,.campus-room-identity>.campus-owner,.campus-room-identity>.campus-small{grid-column:1}.campus-room-number{grid-column:2;grid-row:1/5}.campus-room-progress,.campus-comfort,.campus-room-identity>a{grid-column:1}.campus-room-call{grid-column:2;grid-row:5/9;margin:0}.campus-room-identity>.campus-small{margin:4px 0 16px}.campus-room-identity .campus-owner{margin-bottom:8px!important}.campus-social-grid{grid-template-columns:1fr}.campus-next-details,.campus-section-heading{padding:20px 0;align-items:flex-start}.campus-next-details h2,.campus-section-heading h2{font-size:23px}.campus-next-details>a,.campus-section-heading>a{font-size:13px;padding-inline:14px}.campus-visit-form{align-items:stretch;flex-direction:column}.campus-visit-form form{width:100%;grid-template-columns:1fr auto;min-width:0}.campus-scene-caption{font-size:11px}.campus-tabs{gap:7px;padding:8px}.campus-tabs .soft-btn{flex-basis:40%;font-size:14px;padding-inline:12px}}
@media(max-width:480px){.campus-heading{display:block}.campus-heading>.soft-btn{margin-top:15px}.campus-heading h1{font-size:27px}.campus-heading p{font-size:14px;line-height:1.45}.campus-tabs{border-radius:20px}.campus-room-identity{column-gap:15px;padding:18px 16px}.campus-room-identity h2{font-size:23px}.campus-room-number>b{font-size:20px}.campus-room-number>small{font-size:11px}.campus-room-number>.soft-btn{font-size:11px;padding-inline:9px}.campus-small{font-size:12px}.campus-room-identity>a.soft-btn{font-size:12px}.campus-room-call button{font-size:12px;padding:8px 10px}.campus-room-call>small{font-size:10px}.campus-item-grid{grid-template-columns:1fr}.campus-collection-item{grid-template-columns:105px 1fr}.campus-next-details,.campus-section-heading{flex-direction:column;gap:14px}.campus-next-details h2,.campus-section-heading h2{font-size:24px}.campus-scene-caption{font-size:8px;left:16%;right:16%;padding:4px 6px}.campus-visit-form form{grid-template-columns:1fr}.campus-social-card{padding:22px 17px}.campus-guest{gap:8px;flex-wrap:wrap}.campus-guest>div:last-child{display:flex;flex-basis:100%;justify-content:flex-end}.campus-social-card h2{font-size:25px}.campus-slot-tabs button{font-size:12px}.campus-furnishing-label{font-size:10px;max-width:115px}.campus-visit-form{padding:22px 18px}.campus-closed-room{padding:25px 20px}}
@media(prefers-reduced-motion:reduce){.campus-furnishing{transition:none}}
@media(max-width:760px){.campus-gift-history>div{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.campus-gift-history article{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px 10px;min-width:0;padding:12px}.campus-gift-history img{width:52px;height:52px;grid-row:1/3}.campus-gift-history article>span{grid-column:2}.campus-gift-history small{white-space:normal;overflow-wrap:anywhere}}
