/* Hof Rempe · illustrated paddock theme, revision 4 */
:root{--ink:#203f2b;--paper:#fbf7ec;--green:#40663a;--sage:#e8efd7;--line:#dfd6be;--coral:#e5785d}
body{background-color:#eeeada;background-image:radial-gradient(ellipse at 12% 0,#d1dfb95e,transparent 65%)}body:before{background:radial-gradient(#76643b0b .6px,transparent .8px);background-size:4px 4px}
main{max-width:540px;background:var(--paper);background-image:radial-gradient(ellipse at 95% 60%,#e1e8cb40,transparent 60%);border:0;padding:16px 16px 100px}
.brand{position:relative;z-index:1}.brand-mark{transform:none;display:block;flex:none;line-height:0}.brand-mark svg{width:44px;height:44px}.brand h1{font-size:32px;letter-spacing:-.7px}.tagline{font-size:10px;letter-spacing:2.3px}.avatar{background:#d2dfb9;box-shadow:inset 0 1px 0 #fff9;font-size:20px}
h2,h3{color:var(--ink)}.card{background:linear-gradient(115deg,#fffdf5,#f9f5e9);border:1.5px solid #ddd3bb;box-shadow:0 3px 7px #5e502119,inset 0 1px 0 #fff;border-radius:22px}
.charging-page main{display:flex;flex-direction:column;min-height:100svh;padding:10px 14px 86px!important}.charging-page .brand{flex:none;margin-bottom:0!important}.charging-page .brand h1{font-size:29px!important}.charging-page .brand-mark svg{width:43px;height:43px}
#portal-screen{display:flex;flex-direction:column;flex:1;gap:7px}
#portal-screen .paddock-hero{height:auto;min-height:130px;flex:1 0 138px;max-height:310px;position:relative;background:url('/assets/paddock.png') center bottom/cover no-repeat;margin:0 -9px -9px;display:block;border-radius:0 0 18px 18px;isolation:isolate}
.greeting-copy{position:relative;padding:10px 0 0 9px;max-width:57%;z-index:1}
#portal-screen .greeting h2{font-size:clamp(24px,7vw,32px);line-height:1.12;letter-spacing:-.5px;text-shadow:0 1px var(--paper);overflow-wrap:anywhere;margin:0 0 8px}
#portal-screen .greeting .speech{display:inline-block;font-family:'Comic Sans MS','Segoe Print',cursive;font-size:13px;line-height:1.25;color:#273f2c;background:#fffcf0ed;border:1.5px solid #506343;border-radius:51% 44% 48% 12%;padding:8px 12px;transform:rotate(-5deg);margin:0 0 0 20px;box-shadow:0 2px 0 #72815624}.speech span{color:#d77a50;font-size:19px}
.charging-layout{position:relative;display:grid;gap:8px;z-index:1}.overview{display:grid;gap:8px}
#portal-screen .card{margin:0;padding:12px;border-radius:20px}
#portal-screen .status-card{grid-template-columns:42px minmax(0,1fr) auto;gap:8px;position:relative;overflow:hidden;background:linear-gradient(110deg,#456e3d,#385c34);color:#fffdf3;border:1px solid #304b2c;box-shadow:0 3px 6px #263d3030,inset 0 1px 0 #ffffff25;padding:12px}
.plug-round{background:linear-gradient(135deg,#edf4da,#cee0b7);border-radius:50%;width:42px;height:48px;display:grid;place-items:center;color:#32522f}.plug-round svg{width:27px;height:31px}
#portal-screen .status-card h3{color:#fffdf3;font:700 19px/1.15 Georgia,serif;margin:0 0 7px}.status-copy{position:relative;z-index:1}#portal-screen .badge{background:#e8efd7;font-size:10px;padding:2px 7px;max-width:100%;white-space:normal}
.power{font-size:34px;line-height:1.1;padding-left:8px;border-left:1px solid #e8efd769;white-space:nowrap;position:relative;z-index:1}.status-card .power small{font-size:14px;color:#faf6e8}.leaf-doodle{position:absolute;right:-8px;bottom:-19px;width:49px;height:65px;color:#b2c398;opacity:.23}
#portal-screen .session-card{display:flex;align-items:center;gap:10px;padding:9px 13px;min-height:65px}.section-icon{width:24px;height:27px;flex:none;color:#315931}.session-card h3{font:700 17px/1.1 Georgia,serif;margin:0 0 3px}.session-card h3 small{font:10px system-ui;white-space:nowrap}.session-amount{font-size:23px;line-height:1.05;letter-spacing:-.5px}.session-amount small{font-size:15px;color:var(--ink)}.hand-note{margin-left:auto;transform:rotate(-7deg);text-align:center;font:12px/1.2 'Comic Sans MS','Segoe Print',cursive;color:#51442e}.hand-note b{color:#d07748;font-size:19px}
#portal-screen .battery{position:relative;display:flex;align-items:center;gap:12px;min-height:70px;margin:0;padding:9px 13px;background:linear-gradient(105deg,#e2eccf,#edf2e0);border:1.5px solid #c5d4ae;border-radius:20px;box-shadow:0 3px 6px #6b754419,inset 0 1px #ffffff9c;text-align:left;font-weight:400;overflow:hidden}
.battery-friend{width:39px;height:49px;flex:none;color:#365830;transform:rotate(-3deg)}.battery-copy{display:flex;flex-direction:column;gap:2px;flex:1;position:relative;z-index:1}.battery-copy strong{font:700 22px Georgia,serif}.battery-copy #battery-summary{font:12px/1.3 system-ui}.budget-track{height:7px;max-width:180px;margin-top:3px;border:1px solid #a2bd87;border-radius:10px;background:#f8fbef;overflow:hidden}.budget-track>span{display:block;width:0;height:100%;background:#73985a;border-radius:inherit}.barn-doodle{width:64px;height:45px;flex:none;color:#718d58;opacity:.8}
#portal-screen .controls-card{position:relative;padding:12px 14px;background:linear-gradient(120deg,#fffcf3,#f8f4e7)}#portal-screen .control-title{font:700 21px Georgia,serif;display:flex;align-items:center;gap:10px;position:relative;margin-bottom:9px;padding-right:13px}.control-title .section-icon{width:22px;height:22px}.control-leaf{position:absolute;right:-5px;top:-4px;width:24px;height:38px;color:#7c9264;transform:rotate(15deg)}
#portal-screen .field-row{margin-bottom:6px}#portal-screen .field-row label{font-weight:500;font-size:13px}#portal-screen select{min-height:38px;padding:7px 10px;font-size:13px;border:1px solid #c0bfab;background:#fffdf6;width:65%}
#portal-screen .current-row{margin-bottom:0}#portal-screen .current-row output{font-size:18px}#portal-screen input[type=range]{min-height:26px;accent-color:#548147}#portal-screen .range-labels{font-size:10px;margin-top:-4px}
#portal-screen .buttons{margin-top:7px;gap:9px}#portal-screen .buttons button{min-height:42px;padding:9px;border-radius:15px;background:linear-gradient(135deg,#618b4c,#48723b);box-shadow:0 3px 0 #325428;font-size:14px}#portal-screen .buttons .stop{background:linear-gradient(130deg,#f49272,#e8755e);color:#382219;box-shadow:0 3px 0 #bc5c44}#portal-screen .observation{font-size:10px;line-height:1.2;margin:9px 0 0;text-align:center;color:#626b50}
.portal-foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:3px 8px;padding:3px 4px 0}.portal-foot .notice{flex:1 0 100%}.portal-foot .closing-note{display:none;font:14px 'Comic Sans MS','Segoe Print',cursive;transform:rotate(-4deg);color:#5f6b4d}#portal-screen #notice-button{width:auto;min-height:22px;display:inline-block;border:0;border-radius:0;background:none;box-shadow:none;padding:0;margin:0;font-size:10px}#portal-screen .connection{margin:0;font-size:10px}
.nav{width:min(calc(100% - 24px),512px);bottom:9px;padding:6px 8px max(6px,env(safe-area-inset-bottom));background:#fffdf3f5;border:1.5px solid #ded5bd;border-radius:21px;box-shadow:0 4px 15px #5f4d2720;gap:5px}.nav a{padding:4px 0;border-radius:13px;font-size:11px}.nav a[aria-current=page]{background:#e9efd9;position:relative}.nav a[aria-current=page]:after{content:'';position:absolute;bottom:1px;width:40%;height:3px;border-radius:3px;background:#608447}.nav svg{width:22px;height:22px;margin-bottom:2px}
.login-paddock{height:230px;background:url('/assets/paddock.png') center/cover;border-radius:20px;margin:0 -7px 14px}.login-hero h2{font-size:30px}.login-hero p{font:17px 'Comic Sans MS','Segoe Print',cursive}.page-heading{position:relative;padding:24px 15px 18px;margin:10px -5px 18px;min-height:122px;border-radius:18px;background:linear-gradient(90deg,#fbf7ec 38%,#fbf7ec00 68%),url('/assets/paddock.png') center/cover}.page-heading h2{font-size:30px;max-width:65%}.page-heading p{max-width:53%;font-size:12px}.account-section{margin-top:12px}summary{font-family:Georgia,serif;font-size:19px}.history-item{border-radius:20px}.history-kwh{font-family:Georgia,serif;font-size:28px}.footer{font-family:'Comic Sans MS','Segoe Print',cursive}
@media(max-width:374px){#portal-screen .control-title{font-size:19px}#portal-screen .status-card h3{font-size:17px}.power{font-size:29px}.hand-note{font-size:10px}.session-card h3{font-size:16px}.barn-doodle{width:50px}.greeting-copy{max-width:60%}}
@media(max-height:760px) and (max-width:759px){.charging-page main{padding-top:6px!important;padding-bottom:77px!important}.charging-page .brand h1{font-size:26px!important}.charging-page .brand-mark svg{width:38px;height:38px}.tagline{font-size:9px}#portal-screen{gap:6px}#portal-screen .paddock-hero{min-height:112px;flex-basis:112px}#portal-screen .greeting h2{font-size:25px}.greeting-copy{padding-top:6px}#portal-screen .greeting .speech{font-size:11px;padding:6px 11px}#portal-screen .card{padding:9px 11px}#portal-screen .status-card{padding:10px}.overview,.charging-layout{gap:6px}#portal-screen .session-card{min-height:57px;padding:7px 11px}.session-amount{font-size:21px}#portal-screen .battery{min-height:63px;padding:7px 11px}.battery-friend{height:43px}.battery-copy strong{font-size:20px}#portal-screen .control-title{margin-bottom:7px}#portal-screen .controls-card{padding:10px 12px}}
@media(min-width:760px){body.charging-page main{max-width:1000px;padding:14px 28px 100px!important}.charging-page .brand h1{font-size:38px!important}.charging-page .brand-mark svg{width:52px;height:52px}.charging-page .tagline{font-size:12px}.charging-page .avatar{width:48px;height:48px}.charging-page #portal-screen{gap:12px}.charging-page #portal-screen .paddock-hero{min-height:190px;flex-basis:220px;max-height:440px;margin:0 -15px -13px;background-position:center 57%;border-radius:0 0 24px 24px}.greeting-copy{padding:24px 0 0 24px;max-width:53%}#portal-screen .greeting h2{font-size:44px}#portal-screen .greeting .speech{font-size:22px;padding:15px 26px;margin:8px 0 0 62px}.charging-layout{grid-template-columns:1fr 1fr;gap:15px}.overview{gap:10px}#portal-screen .status-card{min-height:92px;padding:14px;grid-template-columns:50px minmax(0,1fr) auto;gap:10px}.plug-round{width:48px;height:55px}#portal-screen .status-card h3{font-size:23px}.power{font-size:40px}#portal-screen .badge{font-size:12px}#portal-screen .session-card{min-height:80px;padding:12px 16px}.session-card h3{font-size:20px}.session-amount{font-size:29px}.hand-note{font-size:13px}#portal-screen .battery{min-height:89px;padding:12px 16px}.battery-friend{width:48px;height:60px}.battery-copy strong{font-size:26px}.battery-copy #battery-summary{font-size:14px}.barn-doodle{width:85px;height:54px}#portal-screen .controls-card{display:flex;flex-direction:column;justify-content:space-between;padding:18px 20px}#portal-screen .control-title{font-size:26px;margin-bottom:15px}.control-title .section-icon{width:27px;height:27px}#portal-screen .field-row label{font-size:16px}#portal-screen select{min-height:44px;font-size:14px}#portal-screen .current-row output{font-size:23px}#portal-screen input[type=range]{min-height:34px}#portal-screen .range-labels{font-size:12px}#portal-screen .buttons button{font-size:17px;min-height:49px}#portal-screen .observation{font-size:11px}.portal-foot{gap:12px;padding:5px 8px}.portal-foot .closing-note{display:block}#portal-screen #notice-button,#portal-screen .connection{font-size:12px}.charging-page .nav{width:min(calc(100% - 50px),944px);bottom:15px;padding:8px 15px}.charging-page .nav a{font-size:14px}.charging-page .nav svg{width:26px;height:26px}}
@media(max-width:759px){
#portal-screen .paddock-hero{background-position:center top}
#portal-screen .status-card{grid-template-columns:35px minmax(0,1fr) auto;gap:7px;padding:10px 11px;min-height:78px}
.plug-round{width:35px;height:43px}.plug-round svg{width:24px;height:28px}#portal-screen .status-card h3{font-size:17px;margin-bottom:5px}.power{font-size:31px;padding-left:7px}.power small{font-size:12px}
#shared-label{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#portal-screen .session-card{padding:8px 11px;min-height:60px}.session-card h3{font-size:17px;margin-bottom:2px}.session-amount{font-size:22px}.hand-note{font-size:11px;flex:none}.session-card>.section-icon{width:22px}
#portal-screen .controls-card{padding:10px 12px}#portal-screen .control-title{font-size:20px;line-height:22px;margin-bottom:6px}#portal-screen .field-row{margin-bottom:4px}#portal-screen select{min-height:36px;padding:6px 9px}#portal-screen .current-row{margin-bottom:0}#portal-screen .current-row output{font-size:17px;line-height:23px}#portal-screen input[type=range]{display:block;min-height:25px;height:25px}#portal-screen .range-labels{display:none}#portal-screen .buttons{margin-top:5px}#portal-screen .buttons button{min-height:42px;padding:8px}#portal-screen .observation{margin-top:7px}
}
@media(min-width:760px){.charging-page #portal-screen .paddock-hero{background-position:center top}}
#registration.page-heading{background:linear-gradient(115deg,#fffdf5,#f9f5e9);margin-top:20px;padding:20px}#registration.page-heading h2,#registration.page-heading p{max-width:none}
