:root{--ink:#202a26;--muted:#7b827a;--paper:#f5f5ee;--green:#355c47;--line:#e0e3d8;--lime:#deedb7}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px 'Segoe UI',sans-serif}button,input,select,textarea{font:inherit}button,a,label.import{cursor:pointer}button{border:1px solid var(--line);background:white;border-radius:9px;padding:11px 16px;color:var(--ink)}button:hover{filter:brightness(.95)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #99ae68;outline-offset:3px}aside{position:fixed;width:240px;inset:0 auto 0 0;background:#fcfcf7;border-right:1px solid var(--line);padding:35px 25px;display:flex;flex-direction:column}.brand{display:flex;gap:12px;text-decoration:none;color:var(--green);font:bold 43px Georgia}.brand>span{font:600 28px 'Segoe UI';padding-top:5px}.sub{display:block;font:9px 'Segoe UI';letter-spacing:2px;margin-top:4px}.school{margin:50px 0 24px;border-top:1px solid var(--line);padding-top:23px;font-weight:600}.school span{display:block;color:var(--muted);font-size:12px;margin-top:6px}nav button{width:100%;text-align:left;background:transparent;border:0;margin:4px 0;padding:14px 10px}nav small{float:right;font-size:10px;opacity:.5}nav .active{background:var(--green);color:white}.aside-bottom{margin-top:auto;font-size:11px}.aside-bottom p{color:var(--muted)}.aside-bottom button{width:100%;margin-top:16px}.import{display:block;margin-top:15px;text-align:center}.dot{display:inline-block;width:7px;height:7px;background:#87a55f;border-radius:50%;margin-right:5px}main{margin-left:240px;padding:42px 44px;max-width:1700px}header{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{letter-spacing:2.2px;font-size:10px;color:var(--green);font-weight:700}h1{font:normal 42px Georgia;margin:12px 0}h1 span{color:#90a769}header p{color:var(--muted);margin-bottom:25px}.primary{background:var(--green);color:white;border-color:var(--green)}.stats{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line);background:#fcfcf7;border-radius:14px;margin:20px 0 30px}.stat{padding:22px;border-right:1px solid var(--line)}.stat:last-child{border:0}.stat span{color:var(--muted);font-size:12px}.stat strong{display:block;font:32px Georgia;margin-top:10px}.stat em{font-style:normal;font-size:11px;color:var(--green);float:right;margin-top:18px}.toolbar{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.toolbar input{flex:1;min-width:190px}.toolbar input,.toolbar select{background:transparent}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:8px;padding:12px;background:white;color:var(--ink)}.toolbar select{width:auto}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{border:1px solid var(--line);background:#fcfcf7;border-radius:14px;overflow:hidden;transition:transform .2s}.card:hover{transform:translateY(-3px)}.art{height:175px;background:#eaece1;position:relative;display:flex;align-items:center;justify-content:center}.art svg{width:200px;height:145px;filter:drop-shadow(8px 15px 7px #0002)}.art img{width:100%;height:100%;object-fit:contain}.art .tag{position:absolute;top:13px;left:13px}.card-info{padding:19px}.card-info small{color:var(--muted);font-size:10px;letter-spacing:1px}.card h3{font:22px Georgia;margin:8px 0 12px}.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:14px;margin-top:16px}.code{font:11px monospace;color:var(--muted)}.tag{font-size:10px;padding:6px 9px;border-radius:20px;background:white}.available{background:#e2eccd;color:#466036}.repair{background:#f1dfbf;color:#90622b}.route{background:#dfe7f3;color:#486988}.loan{background:#e8e1f1;color:#785d98}.feature{display:grid;grid-template-columns:1.2fr 1fr;background:#e6ebdb;border-radius:14px;border:1px solid var(--line);overflow:hidden;margin-bottom:25px}.feature-copy{padding:30px}.feature h2{font:30px Georgia;margin:10px 0}.feature p{line-height:1.7;color:#64725e}.scene{height:250px;position:relative;overflow:hidden;background:radial-gradient(ellipse,#f1f4e8,#dce5cf);perspective:700px}.floor{position:absolute;inset:30px;transform:rotateX(52deg) rotateZ(-28deg);background:repeating-linear-gradient(0deg,transparent 0 35px,#a7b39744 36px 37px),repeating-linear-gradient(90deg,transparent 0 35px,#a7b39744 36px 37px);border:1px solid #b9c6a6;border-radius:15px}.bench{position:absolute;top:70px;left:25%;width:160px;height:95px;transform:rotateX(35deg) rotateZ(-25deg);background:#54705b;box-shadow:0 14px 0 #344d3e;border-radius:12px}.bench svg{width:155px;height:90px}.arm{position:absolute;left:56%;top:42px;width:17px;height:75px;border-radius:15px;background:linear-gradient(90deg,#818d8b,#e0e5df,#7f8b89);transform-origin:bottom;animation:repair 3s ease-in-out infinite;box-shadow:0 4px 6px #0003}.arm:before{content:'';position:absolute;top:0;width:75px;height:15px;background:#a5b3a7;border-radius:10px;transform:rotate(25deg);transform-origin:left}.arm:after{content:'✦';position:absolute;top:27px;left:58px;color:#f6c665;font-size:25px}.cart{position:absolute;left:10%;top:82px;width:120px;height:75px;background:#708965;border-radius:10px;box-shadow:0 12px 0 #3b5140;animation:route 4s ease-in-out infinite}.cart svg{width:120px;height:65px}.cart:after{content:'●       ●';position:absolute;bottom:-26px;width:100%;color:#283a30;font-size:26px;white-space:pre}.college{position:absolute;right:20px;top:65px;font-size:65px}.scene-label{position:absolute;bottom:18px;left:22px;letter-spacing:2px;font-size:9px;color:#5e7358}@keyframes repair{0%,100%{transform:rotate(-30deg)}50%{transform:rotate(20deg)}}@keyframes route{0%,100%{transform:translateX(0) rotate(-5deg)}50%{transform:translateX(105px) rotate(5deg)}}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.section-title h2{font:25px Georgia}.list-row{display:flex;align-items:center;gap:20px;padding:20px;background:#fcfcf7;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.list-row .grow{flex:1}.list-row h3{margin:0 0 7px}.list-row p{margin:0;color:var(--muted);font-size:12px}.empty{padding:50px;text-align:center;color:var(--muted)}footer{margin-top:40px;border-top:1px solid var(--line);padding-top:20px;font-size:10px;letter-spacing:1px;color:var(--muted)}footer span{float:right;letter-spacing:0}dialog{border:1px solid var(--line);border-radius:17px;width:min(620px,94vw);max-height:90vh;padding:0;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#19271d88;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;border-bottom:1px solid var(--line);font:24px Georgia}.dialog-top button{border:0;background:transparent}#modal-body{padding:25px}form{display:grid;gap:15px}label{font-size:12px;display:block}label input,label select,label textarea{display:block;margin-top:7px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hint{font-size:12px;color:var(--muted);line-height:1.6}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:15px 0}.timeline{border-left:2px solid #c5d1b4;padding-left:18px}.timeline p{font-size:13px;line-height:1.6}.timeline small{color:var(--muted)}video{width:100%;max-height:260px;background:#16231b;border-radius:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:14px 25px;border-radius:10px;display:none;z-index:5}.student{background:#e4ebd8;padding:16px;border-radius:10px}.detail-art{height:190px}.detail-art svg{height:180px;width:240px}@media(max-width:1100px){.grid{grid-template-columns:repeat(2,1fr)}main{padding:30px}aside{width:210px}main{margin-left:210px}h1{font-size:34px}}@media(max-width:760px){aside{position:static;width:100%;padding:16px}.brand{font-size:28px}.brand>span{font-size:22px}.school,.aside-bottom{display:none}nav{display:flex;margin-top:15px}nav button{text-align:center;padding:12px 5px;font-size:11px}nav small{display:none}main{margin:0;padding:20px}header{align-items:start}header .primary{font-size:11px;padding:12px}h1{font-size:29px}.stats{grid-template-columns:repeat(2,1fr)}.stat{padding:17px}.grid{gap:12px}.art{height:145px}.card h3{font-size:19px}.card-info{padding:13px}.card-bottom{gap:5px}.feature{grid-template-columns:1fr}.list-row{flex-wrap:wrap;gap:10px}footer span{display:block;float:none;margin-top:8px}.form-row{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
