/* box.css */
@layer components{.box{background:white;padding:0.8rem 1rem 1rem 1rem;border-radius:0.5rem;border:1px solid #ccc;margin:1rem auto;display:flex;flex-direction:column;gap:2rem;max-width:50rem;overflow:auto;-webkit-overflow-scrolling:touch;&.meta{display:block;padding-bottom:0;}&.indications{background:var(--lightyellow);}&.contraindications{background:var(--yellow);border-color:var(--yellow);}&.procedure,&.dosage{background:var(--medblue);border-color:var(--medblue);}&.overdosing{background:var(--medblue);border-color:var(--medblue);}&.remark{border:3px solid var(--red);}&.notice{background:var(--medblue);border-color:var(--medblue);}&.alternatives{background:var(--lightpurple);border-color:var(--lightpurple);}&.remarks,&.risks{background:var(--lightgray);}&.review{background:var(--green);border-color:var(--green);}&.countermeasures{background:var(--lightpeach);border-color:var(--lightpeach);}&.abortcriteria{background:var(--lightgray);}.headline{font-size:var(--fontsize-h2);font-weight:600;line-height:1.1;margin:0 0 0.5rem;text-align:left;}}}
/* bprlist.css */
@layer components{.bprlist{position:absolute;transform:translateY(0.5rem);display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:0.5rem;background:white;width:114%;left:-7%;padding:0 7% 8rem 7%;.item{display:flex;justify-content:space-between;align-items:stretch;}.link{display:flex;width:100%;align-items:center;justify-content:flex-start;text-wrap:balance;padding:0.8rem 1rem;background:#ddd;color:black;font-weight:500;line-height:1.1;border-radius:0.4rem;&.origin{outline:2px solid var(--blue);}}}}
/* catlist.css */
@layer components{.catlistcontainer{}.catlist{margin:1rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:0.5rem;position:relative;.card{width:100%;padding:2rem 0.5rem;text-align:center;hyphens:auto;display:flex;flex-direction:column;justify-content:center;align-items:center;background:#ddd;border-radius:0.4rem;&[aria-expanded="true"]{background:var(--red);color:white;}svg{width:2.5rem;height:2.5rem;flex-shrink:0;fill:currentColor;}}}}
/* diagram.css */
@layer components{.diagram{.viewport{position:relative;overflow:hidden;touch-action:none;height:calc(100dvh - 7.5rem - env(safe-area-inset-bottom) - env(safe-area-inset-top));margin:0 -3.5%;padding:4rem 3.5% 0;}.viewport img,.viewport svg{display:block;max-width:100%;height:auto;transform-origin:0 0;transition:transform 0.2s ease;will-change:transform;}.viewport svg{will-change:auto;a,a *{text-decoration:underline;}}.controls{position:absolute;left:0;width:100%;z-index:10;display:flex;justify-content:center;gap:0.25rem;margin-top:0.4rem;padding:0.25rem;}.control{border:none;border-radius:999px;padding:0.7rem 1rem;line-height:1;cursor:pointer;background:rgba(0,0,0,0.07);backdrop-filter:blur(4px);border:1px solid white;display:flex;align-items:center;justify-content:center;gap:0.5rem;svg{width:1rem;height:1rem;}&:focus-visible{outline:2px solid currentColor;outline-offset:2px;}&.additional{position:absolute;right:5%;}}}}
/* furtherlinks.css */
@layer components{.furtherlinks{position:absolute;left:5%;right:5%;background:rgba(0,0,0,0.6);padding:1rem;border-radius:0.5rem;backdrop-filter:blur(4px);z-index:1000;display:flex;flex-direction:column;gap:0.5rem;a{display:block;padding:0.5rem 1rem;background:rgba(255,255,255,0.7);border-radius:0.5rem;margin-bottom:0.5rem;&:last-child{margin-bottom:0;}}}}
/* header.css */
@layer components{.header{padding:0.5rem;background:var(--blue);color:white;width:100%;display:grid;grid-template-columns:2rem auto 2rem;gap:0.5rem;align-items:center;justify-items:center;.tpl-home &{padding:0.8rem 0;display:block;}.title{font-size:1.5rem;font-weight:500;line-height:1.1;text-align:center;text-wrap:balance;}.back{justify-self:start;display:block;width:2.3rem;height:2.3rem;padding:0.2rem;color:white;svg{width:100%;height:100%;fill:white;}}.currentstatus{font-size:0.7rem;font-weight:500;line-height:1.1;color:white;width:3rem;padding-left:0.5rem;border-left:2px solid rgba(255,255,255,0.5);}}}
/* home.css */
@layer components{.home{position:relative;text-align:center;height:calc(100dvh - 4rem - env(safe-area-inset-bottom) - env(safe-area-inset-top));min-height:0!important;.wrap{position:absolute;inset:0;place-self:center;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.4;gap:1rem;}.supertitle{font-size:var(--fontsize-h1);font-weight:700;line-height:1.2;text-align:center;text-wrap:balance;color:var(--blue);margin:2rem 0.5rem 1rem;}.logos{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:5%;margin:3% 0;.item{width:17%;&:last-child{width:38%;}}img{width:100%;height:auto;}}.global{color:var(--blue);display:flex;gap:5%;align-items:center;justify-content:center;flex-wrap:wrap;width:100%;max-width:100%;padding:0 1rem 2rem 0;a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.2em;display:block;padding:0.5rem 0;}}.lastmodified{white-space:nowrap;}}}
/* hospitalslist.css */
@layer components{.areas-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:0.4rem;margin-bottom:0.5rem;padding:1rem 0 0.5rem;.filter-btn{padding:0.35rem 0.75rem;background:#ddd;border:none;border-radius:0.3rem;cursor:pointer;font-size:0.8rem;font-weight:500;line-height:1.2;transition:background 0.15s,color 0.15s;&:hover{background:#ccc;}&.is-active{background:var(--blue);color:white;}}}.geo-actions{display:flex;flex-direction:column;align-items:center;gap:0.35rem;margin-bottom:0.35rem;}.geo-btn{padding:0.45rem 0.85rem;background:var(--blue);color:white;border:none;border-radius:0.3rem;cursor:pointer;font-size:0.85rem;font-weight:500;line-height:1.2;transition:opacity 0.15s;display:flex;align-items:center;gap:0.35rem;svg{width:1.65rem;height:1.65rem;flex-shrink:0;margin-top:0.05rem;fill:white;}}.geo-btn:disabled{opacity:0.65;cursor:wait;}.geo-error{margin:0;color:#b00020;font-size:0.8rem;text-align:center;}.hospitalslist{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));align-items:stretch;gap:0.5rem;padding:1rem 0;&.large{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));}.item{display:flex;flex-direction:column;text-align:left;align-items:stretch;padding:0.8rem 1rem;background:#ddd;color:black;border-radius:0.4rem;header{display:flex;width:100%;align-items:flex-start;text-wrap:balance;width:100%;font-weight:600;gap:0.5rem;&.origin{outline:2px solid var(--blue);}}.title{width:100%;}.meta{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:0.2rem;text-align:right;white-space:nowrap;}address{font-style:normal;margin-left:2.3rem;}footer{margin-left:2.3rem;margin-top:0.3rem;a{color:var(--blue);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.2em;font-weight:500;line-height:1.1;font-size:1.2rem;padding:1rem 0;}}svg{width:1.65rem;height:1.65rem;flex-shrink:0;margin-top:0.05rem;}.ssw{font-size:0.8rem;font-weight:500;line-height:1.1;color:var(--blue);}.distance{font-size:0.8rem;font-weight:600;color:var(--blue);white-space:nowrap;}}}}
/* main.css */
@layer components{.main{position:relative;z-index:1;min-height:100vh;background-color:white;padding-bottom:7rem;padding-top:1px;overflow-y:auto;-webkit-overflow-scrolling:touch;}.headline{font-size:var(--fontsize-h2);font-weight:600;text-align:center;line-height:1.1;margin:1.5rem 0 0.5rem 0;}}
/* medlist.css */
@layer components{.medlist{display:grid;grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:0.5rem;padding:1rem 0;&.large{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));}.item{display:flex;justify-content:space-between;align-items:stretch;}.link{display:flex;width:100%;align-items:center;justify-content:flex-start;text-wrap:balance;padding:0.8rem 1rem;background:#ddd;color:black;font-weight:500;line-height:1.1;border-radius:0.4rem;&.origin{outline:2px solid var(--blue);}svg{width:1.65rem;height:1.65rem;flex-shrink:0;margin-top:0.05rem;}}}}
/* medmeta.css */
@layer components{.medmeta{dt{font-weight:600;&:after{content:":";margin-right:0.5rem;}}dd{font-weight:400;margin-left:2rem;margin-bottom:1rem;}}}
/* procedureslist.css */
@layer components{.procedureslist{display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));align-items:stretch;gap:0.5rem;padding:1rem 0;&.large{grid-template-columns:repeat(auto-fill,minmax(20rem,1fr));}.item{display:flex;text-align:left;align-items:stretch;}.link{display:flex;width:100%;align-items:center;justify-content:flex-start;text-wrap:balance;width:100%;align-items:center;padding:0.8rem 1rem;background:#ddd;color:black;font-weight:500;line-height:1.1;border-radius:0.4rem;gap:0.5rem;&.origin{outline:2px solid var(--blue);}svg{width:1.65rem;height:1.65rem;flex-shrink:0;margin-top:0.05rem;}}}}
/* pwa-precache.css */
@layer components{.pwa-precache{position:fixed;inset:0;bottom:calc(4.2rem + env(safe-area-inset-bottom));z-index:3;padding:0.5rem 1rem calc(0.5rem + env(safe-area-inset-bottom));background:rgba(0,0,0,0.6);display:flex;flex-direction:column;align-items:center;gap:1rem;justify-content:center;color:#fff;font-family:var(--noto,system-ui,sans-serif);box-shadow:0 -2px 10px rgba(0,0,0,0.2);transform:translateY(100%);opacity:0;pointer-events:none;transition:transform 0.3s ease,opacity 0.3s ease,background-color 0.2s ease;.text{margin-bottom:0.25rem;text-align:center;}&.is-visible{transform:translateY(0);opacity:1;}.track{width:min(30rem,90%);height:30px;background:rgba(255,255,255,0.3);border-radius:3rem;overflow:hidden;}.fill{height:100%;width:0%;background:#0096d6;transition:width 0.2s ease;}&.is-success .fill{background:#22c55e;}&.is-warning .fill{background:#f59e0b;}&.is-error{background:#7f1d1d;}&.is-error .fill{background:#f87171;}&.is-hidden{display:none;}}}
/* search.css */
@layer components{.search{background:var(--blue);transform:translateY(100%);height:0;overflow:hidden;transition:all 0.2s ease;opacity:0;display:flex;align-items:stretch;justify-content:flex-start;flex-direction:column;background:rgba(0,0,0,0.7);backdrop-filter:blur(5px);&.is-open{height:100dvh;transform:translateY(0);opacity:1;}input[type="search"]{padding:0.5rem;width:100%;border:none;border-radius:0.5rem;background:white;color:black;font-family:var(--noto),sans-serif;font-size:1rem;&:placeholder{color:#ccc;}}.form{display:flex;align-items:center;justify-content:space-between;gap:0.5rem;padding:0.5rem 1.2rem calc(0.5rem + env(safe-area-inset-bottom,0px));width:100%;order:2;flex-shrink:0;background:var(--blue);border-top:1px solid rgba(255,255,255,0.5);}.clear{width:3rem;height:3rem;flex-shrink:0;svg{width:100%;height:100%;fill:white;}}.results{width:100%;padding:0 1.2rem 1rem;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;min-height:0;max-height:calc(100dvh - 4rem - env(safe-area-inset-bottom,0px) - env(safe-area-inset-top,0px));order:1;flex:1 1 auto;}.status{color:white;margin:1rem 0;}.status.error{color:#ffd9d9;}.list{padding:calc(1rem + env(safe-area-inset-top,0px)) 0 1rem 0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(18rem,1fr));gap:0.5rem;}.item{display:flex;margin:0;text-align:left;height:auto;justify-content:space-between;align-items:stretch;}.link{display:flex;align-items:center;justify-content:flex-start;text-wrap:balance;width:100%;gap:0.5rem;text-decoration:none;background:rgba(255,255,255,0.1);border-radius:0.5rem;padding:0.6rem 0.75rem;color:white;transition:background-color 0.15s ease;&:hover,&:focus-visible{background:rgba(255,255,255,0.2);}}.icon{width:1.65rem;height:1.65rem;flex-shrink:0;margin-top:0.05rem;filter:brightness(0) invert(1);}.content{min-width:0;flex:1 1 auto;}.title{display:block;font-weight:700;line-height:1.3;}.preview{display:block;font-size:0.9rem;line-height:1.35;opacity:0.9;}}}
/* sticker.css */
@layer components{.sticker{width:10rem;float:right;margin:-0.8rem -1rem 0.5rem 1rem;background:white;padding:0.5rem;border-bottom-left-radius:0.5rem;border-left:1px solid #ccc;border-bottom:1px solid #ccc;}}
/* tabnavi.css */
@layer components{.tabnavi{position:fixed;z-index:2;bottom:0;left:0;width:100%;height:auto;color:white;fill:white;box-shadow:0 0 0.7rem rgba(0,0,0,0.2);.menu{background:var(--blue);display:flex;justify-content:space-around;align-items:stretch;list-style:none;padding:0;height:calc(4.2rem + env(safe-area-inset-bottom));transition:all 0.3s ease;padding-bottom:env(safe-area-inset-bottom);margin:0;&.is-hidden{height:0;padding-bottom:0;}.item{flex:1;text-align:center;padding:0.3rem;}.link{display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:flex-start;gap:0.4rem;width:100%;padding:0.2rem 0.2rem;&[aria-current="page"]{background:var(--red);border-radius:0.4rem;}}}svg{width:2rem;height:2rem;}.text{font-size:0.8rem;font-weight:500;line-height:1.1;}}}
