*{box-sizing:border-box}body{margin:0;background:#171717;color:#eee;font-family:Arial,"Microsoft JhengHei",sans-serif}a{color:inherit;text-decoration:none}.home{min-height:100vh;display:grid;grid-template-columns:55% 45%}.hero img{width:100%;height:100vh;object-fit:cover}.brand{display:flex;align-items:center;justify-content:center;text-align:center;padding:50px}.logo{width:170px}.brand h1{font-size:52px;font-weight:400;letter-spacing:.08em;margin:20px 0 8px}.company{font-size:20px}.tag{color:#d7b34b;font-size:12px;letter-spacing:.18em;margin:24px 0}.desc{color:#aaa;line-height:1.8}.pill{display:inline-block;background:#eee;color:#111;padding:16px 28px;border-radius:30px;margin-top:15px}.site{display:grid;grid-template-columns:220px 1fr;min-height:100vh}.sidebar{padding:36px 42px;border-right:1px solid #333;position:sticky;top:0;height:100vh;box-sizing:border-box}.side-logo{width:72px}.side-title{font-size:21px;margin-top:20px}.side-cn{font-size:12px;color:#888;margin:5px 0 28px}.nav-head{font-size:11px;letter-spacing:.15em;margin:22px 0 8px}.nav a{display:block;color:#aaa;font-size:13px;padding:7px 0}.nav .interactive{color:#aaa}.content{padding:42px 5vw}.topbar{display:flex;justify-content:space-between;margin-bottom:28px}.page-title{font-size:30px}.page-sub,.crumb{font-size:11px;color:#777;letter-spacing:.1em}.crumb{margin-bottom:14px}.choice-grid,.project-grid,.gallery{display:grid;grid-template-columns:1fr 1fr;gap:24px}.choice{height:360px;position:relative;overflow:hidden}.choice img{width:100%;height:100%;object-fit:cover}.choice-overlay{position:absolute;inset:0;padding:28px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(transparent,rgba(0,0,0,.85))}.choice h2{font-size:28px;font-weight:400;margin:0}.choice p{color:#bbb}.type-grid,.interactive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.type-card,.interactive-card{min-height:170px;border:1px solid #383838;padding:24px;background:#1c1c1c;display:flex;flex-direction:column;justify-content:flex-end}.type-card small,.interactive-card .num{color:#d7b34b;margin-bottom:auto}.project-card img{width:100%;aspect-ratio:16/10;object-fit:cover}.project-meta{padding:12px 0 20px}.project-meta span{display:block;color:#777;font-size:11px;margin-top:5px}.gallery img{width:100%}.admin{max-width:900px;border:1px solid #383838;padding:25px}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;font-size:11px;color:#aaa;margin-bottom:6px}.field input,.field select{width:100%;padding:12px;background:#222;border:1px solid #444;color:#eee}.box{margin-top:18px;border:1px dashed #555;padding:24px;color:#aaa}.setting{margin-top:15px;background:#202020;padding:15px;color:#aaa;line-height:1.7}.mobilebar,.mobile-nav{display:none}@media(max-width:850px){.home{grid-template-columns:1fr}.hero img{height:auto;aspect-ratio:16/10}.site{display:block}.sidebar{display:none}.mobilebar{display:flex;padding:14px 20px;justify-content:space-between;border-bottom:1px solid #333}.mobilebar img{width:34px}.mobile-nav.open{display:block;padding:15px 20px}.mobile-nav a{display:block;padding:8px}.type-grid,.interactive-grid{grid-template-columns:1fr 1fr}}@media(max-width:560px){.choice-grid,.project-grid,.gallery,.type-grid,.interactive-grid,.admin-grid{grid-template-columns:1fr}.choice{height:280px}.brand h1{font-size:38px}}
.backlink{display:inline-block;margin-bottom:18px;color:#999;font-size:12px}
.gallery-item{position:relative;border:0;padding:0;background:none;cursor:zoom-in;overflow:hidden}
.gallery-item img{width:100%;display:block;transition:transform .25s ease}
.gallery-item:hover img{transform:scale(1.015)}
.lightbox{position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:60px 72px}
.lightbox.open{display:flex}.lightbox img{max-width:92vw;max-height:86vh;object-fit:contain}
.lb-close,.lb-prev,.lb-next{position:absolute;border:1px solid #555;background:rgba(20,20,20,.75);color:#fff;min-width:48px;min-height:48px;border-radius:999px;font-size:20px;cursor:pointer}
.lb-close{right:22px;top:20px}.lb-prev{left:20px;top:50%;transform:translateY(-50%)}.lb-next{right:20px;top:50%;transform:translateY(-50%)}
.lb-count{position:absolute;bottom:20px;color:#aaa;font-size:12px;letter-spacing:.1em}
.company-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.company-card{border:1px solid #383838;background:#1c1c1c;overflow:hidden}.company-card img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block;opacity:.8}.company-card .project-meta{padding:16px}
@media(max-width:560px){.lightbox{padding:56px 12px}.lb-prev{left:8px}.lb-next{right:8px}.company-grid{grid-template-columns:1fr}}

/* V3.2 interactive viewers */
.viewer-page{max-width:1200px;margin:0 auto}
.viewer-shell{position:relative;background:#101010;border:1px solid #343434;overflow:hidden;min-height:520px}
#panoramaViewer{width:100%;height:70vh;min-height:520px;background:#111}
.viewer-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:14px 0 22px}
.viewer-toolbar .help{font-size:12px;color:#8f8f8f;line-height:1.6}
.viewer-button{min-height:44px;padding:0 16px;border:1px solid #555;background:#1c1c1c;color:#eee;border-radius:999px;cursor:pointer}
.viewer-button:hover{border-color:#d7b34b;color:#d7b34b}
.model-wrap{position:relative;background:radial-gradient(circle at 50% 40%,#303030,#101010);border:1px solid #343434;overflow:hidden}
model-viewer{display:block;width:100%;height:70vh;min-height:560px;--poster-color:transparent}
.model-loading{position:absolute;left:20px;bottom:20px;padding:9px 12px;background:rgba(0,0,0,.65);border:1px solid #444;color:#bbb;font-size:12px;pointer-events:none}
.model-note{margin-top:15px;color:#888;font-size:12px;line-height:1.7}
.vr-placeholder{min-height:420px;border:1px dashed #444;background:#1a1a1a;display:flex;align-items:center;justify-content:center;text-align:center;padding:40px}
.vr-placeholder h2{font-size:28px;font-weight:400;margin:0 0 10px}
.vr-placeholder p{margin:0;color:#888;line-height:1.8}
.interactive-menu{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:25px}
.interactive-menu a{border:1px solid #383838;background:#1b1b1b;padding:22px;min-height:130px;display:flex;flex-direction:column;justify-content:flex-end}
.interactive-menu small{color:#d7b34b;margin-bottom:auto;letter-spacing:.12em}
.interactive-menu strong{font-size:17px;font-weight:400}
@media(max-width:800px){
  #panoramaViewer,model-viewer{height:62vh;min-height:430px}
  .interactive-menu{grid-template-columns:1fr}
}
@media(max-width:560px){
  #panoramaViewer,model-viewer{height:58vh;min-height:360px}
}

/* V3.3 Admin / NAS import prototype */
.admin-layout{max-width:1120px;margin:0 auto}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}.admin-tabs button{border:1px solid #444;background:#1c1c1c;color:#aaa;padding:11px 16px;border-radius:999px;cursor:pointer}.admin-tabs button.active{color:#111;background:#eee;border-color:#eee}
.admin-section{display:none}.admin-section.active{display:block}
.admin-card{border:1px solid #383838;background:#1b1b1b;padding:24px;margin-bottom:18px}
.admin-card h2{font-size:19px;font-weight:400;margin:0 0 8px}.admin-card p{font-size:12px;color:#888;line-height:1.8;margin:0 0 18px}
.path-row{display:grid;grid-template-columns:1fr auto;gap:10px}.path-row input,.admin-input{min-height:44px;width:100%;background:#222;border:1px solid #444;color:#eee;padding:0 12px}
.admin-btn{min-height:44px;border:1px solid #555;background:#242424;color:#eee;padding:0 16px;cursor:pointer}.admin-btn.primary{background:#eee;color:#111;border-color:#eee}.admin-btn:disabled{opacity:.4;cursor:not-allowed}
.rule-box{background:#202020;border:1px solid #333;padding:16px;font-size:13px;color:#aaa;line-height:1.8}.rule-example{font-family:monospace;color:#d7b34b}
.scan-list{display:grid;gap:10px;margin-top:18px}.scan-item{display:grid;grid-template-columns:36px minmax(0,1fr) 120px 110px;gap:12px;align-items:center;padding:12px;border:1px solid #333;background:#202020}.scan-item input[type=checkbox]{width:18px;height:18px}.scan-name{font-size:13px;overflow-wrap:anywhere}.scan-meta{font-size:11px;color:#777}.scan-tag{font-size:11px;color:#d7b34b}.status-good{color:#a9c89b}.status-warn{color:#d7b34b}
.import-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:18px}.summary-box{border:1px solid #333;background:#202020;padding:15px}.summary-box b{display:block;font-size:22px;font-weight:400}.summary-box span{font-size:11px;color:#777}
.admin-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:18px}.admin-footer small{color:#777;line-height:1.6}
@media(max-width:700px){.path-row{grid-template-columns:1fr}.scan-item{grid-template-columns:30px 1fr}.scan-meta,.scan-tag{grid-column:2}.import-summary{grid-template-columns:1fr}.admin-footer{align-items:stretch;flex-direction:column}}

/* CLOUDS V5.4.3 SIDEBAR HARDFIX */
.nav a{color:#aaa}
.nav a.interactive{color:#aaa}
.nav a.nav-active{color:#d7b34b!important;position:relative}
.nav a.nav-active:before{
  content:"";position:absolute;left:-16px;top:50%;
  width:2px;height:18px;background:#d7b34b;transform:translateY(-50%);
}
.nav-sub.exterior-submenu{
  display:none;
  margin:4px 0 8px 10px;
  padding-left:10px;
  border-left:1px solid #333;
}
.nav-sub.exterior-submenu.open{display:block}
.nav-sub.exterior-submenu a{
  display:block;
  color:#888!important;
  font-size:11px;
  line-height:1.9;
  padding:2px 0;
}
.nav-sub.exterior-submenu a.sub-active{color:#d7b34b!important}
.nav-sub.exterior-submenu a.sub-active:before{
  content:"";position:absolute;left:-11px;top:50%;
  width:2px;height:13px;background:#d7b34b;transform:translateY(-50%);
}
@media(max-width:900px){
  .site{display:block}
  .sidebar{display:none}
}

/* V5.4.4 */
@media(min-width:901px){
  .site{grid-template-columns:220px 1fr!important}
  .sidebar{padding-left:42px!important;padding-right:42px!important}
}
