@font-face{font-family:"Playfair Display";src:url("fonts/PlayfairDisplay-Variable.ttf");font-weight:400 900;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-Regular.ttf");font-weight:400;font-display:swap}
@font-face{font-family:"Inter";src:url("fonts/Inter-Medium.ttf");font-weight:500 700;font-display:swap}
:root{--navy:#0D3857;--taupe:#A69380;--taupe-text:#7D6B5D;--onyx:#1F1D24;--silver:#C8C8C8;--cream:#FAFAFA;--line:#E4E1DC;--bar:56px;--tabs:62px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--onyx);font-family:"Inter","Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5;padding-top:var(--bar);padding-bottom:calc(var(--tabs) + env(safe-area-inset-bottom))}
h1,h2,h3{font-family:"Playfair Display",Georgia,serif;color:var(--navy);font-weight:600;line-height:1.2;margin:0 0 .5em}
h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}
a{color:var(--navy)}
button,input,select,textarea{font:inherit;color:inherit}
.bar{position:fixed;top:0;left:0;right:0;height:var(--bar);background:var(--navy);color:var(--cream);display:flex;align-items:center;gap:12px;padding:0 16px;z-index:10}
.bar .logo{height:26px;width:auto}
.bar-title{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--taupe);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.back{background:none;border:0;color:var(--cream);font-size:30px;line-height:1;padding:0 6px 4px 0;cursor:pointer}
main{max-width:760px;margin:0 auto;padding:20px 16px 32px;outline:none}
.pad{padding:16px}
.muted{color:#6b6b72}
.small{font-size:13px}
.kick{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--taupe-text);margin-bottom:6px}
.tabs{position:fixed;left:0;right:0;bottom:0;background:#fff;border-top:1px solid var(--line);display:flex;padding-bottom:env(safe-area-inset-bottom);z-index:10}
.tabs button{flex:1;background:none;border:0;padding:8px 2px 10px;font-size:12px;color:#6b6b72;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer}
.tabs button .ic{font-size:19px;line-height:1}
.tabs button.on{color:var(--navy);font-weight:600}
.card{background:#fff;border:1px solid var(--line);border-radius:6px;padding:16px;margin:0 0 12px}
.card.link{display:block;text-decoration:none;color:inherit;cursor:pointer}
.card.link:hover{border-color:var(--taupe)}
.row{display:flex;gap:10px;align-items:center}
.row.between{justify-content:space-between}
.wrap{flex-wrap:wrap}
.pill{display:inline-block;font-size:12px;padding:2px 9px;border-radius:20px;background:#EFEBE6;color:var(--taupe-text);white-space:nowrap}
.pill.gebucht{background:#E3EAF0;color:var(--navy)}
.pill.abgeschlossen{background:#ECECEC;color:#6b6b72}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--navy);color:var(--cream);border:0;border-radius:4px;padding:11px 16px;font-weight:600;font-size:15px;cursor:pointer;text-decoration:none;min-height:44px}
.btn.ghost{background:transparent;color:var(--navy);border:1px solid var(--navy)}
.btn.taupe{background:var(--taupe);color:#fff}
.btn.full{width:100%}
.btn.sm{padding:6px 12px;min-height:36px;font-size:14px}
.btn.danger{background:transparent;color:#9b2c2c;border:1px solid #d9b3b3}
.stack>*+*{margin-top:10px}
label.f{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-text);font-weight:500;margin:14px 0 4px}
input[type=text],input[type=date],select,textarea{width:100%;border:1px solid var(--silver);border-radius:4px;background:#fff;padding:10px 12px;min-height:44px}
textarea{min-height:110px;resize:vertical}
input:focus,select:focus,textarea:focus,button:focus-visible,a:focus-visible{outline:2px solid var(--taupe);outline-offset:1px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
.seg{display:flex;gap:6px;overflow-x:auto;margin:0 -16px 16px;padding:0 16px 4px;scrollbar-width:none}
.seg button{flex:0 0 auto;border:1px solid var(--silver);background:#fff;border-radius:20px;padding:7px 14px;font-size:14px;cursor:pointer;white-space:nowrap}
.seg button.on{background:var(--navy);border-color:var(--navy);color:#fff}
.check{list-style:none;margin:0;padding:0}
.check li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}
.check li input[type=checkbox]{width:22px;height:22px;accent-color:var(--navy);flex:0 0 22px;margin:0}
.check li label{flex:1;cursor:pointer}
.check li.done label{color:#8a8a90;text-decoration:line-through}
.check li .x{background:none;border:0;color:#9a9aa0;font-size:20px;cursor:pointer;padding:0 4px;min-width:32px;min-height:32px}
.cat{margin:20px 0 4px;display:flex;justify-content:space-between;align-items:baseline}
.cat h3{margin:0}
.progress{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin:6px 0 2px}
.progress i{display:block;height:100%;background:var(--taupe)}
.add{display:flex;gap:8px;margin-top:10px}
.add input{flex:1}
.empty{text-align:center;padding:30px 10px}
.hero{border-radius:6px;overflow:hidden;margin:0 0 16px;background:#ddd;aspect-ratio:4/3}
.hero img{width:100%;height:100%;object-fit:cover;display:block}
.lock{background:var(--navy);color:var(--cream);border-radius:6px;padding:22px 18px}
.lock h2{color:var(--cream)}
.lock p{color:#DCD6CF}
.lock .tier{border-top:1px solid rgba(255,255,255,.18);padding:14px 0 0;margin-top:14px}
.lock .tier b{color:#fff}
.lock .btn.ghost{color:var(--cream);border-color:var(--cream)}
.look{margin:0 0 28px}
.look .ph{aspect-ratio:4/5;border-radius:6px;overflow:hidden;background:#ddd;margin-bottom:12px}
.look .ph img{width:100%;height:100%;object-fit:cover;display:block}
.look ul{padding-left:18px;margin:6px 0 12px}
.look .bag{border-left:4px solid var(--taupe);background:#fff;padding:10px 12px;margin:10px 0}
.look .tip{font-family:"Playfair Display",Georgia,serif;font-style:italic;color:var(--navy);font-size:18px}
.chap{overflow-wrap:break-word}
.chap h2{margin-top:28px;padding-top:10px;border-top:2px solid var(--taupe);display:inline-block}
.chap table{width:100%;border-collapse:collapse;font-size:14px;margin:10px 0 16px;display:block;overflow-x:auto}
.chap th{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--taupe-text);text-align:left;border-bottom:2px solid var(--navy);padding:6px 8px}
.chap td{border-bottom:1px solid var(--line);padding:8px;vertical-align:top;min-width:120px}
.chap td:first-child{color:var(--navy);font-weight:600}
.chap blockquote{margin:16px 0;border-left:4px solid var(--taupe);background:#fff;padding:10px 14px}
.chap .kicker{font-weight:600;color:var(--navy);margin:16px 0 4px}
.chap li.chk{list-style:"☐  "}
.toc a{display:flex;gap:12px;align-items:baseline;text-decoration:none;color:inherit;padding:12px 0;border-bottom:1px solid var(--line)}
.toc .n{font-family:"Playfair Display",Georgia,serif;color:var(--taupe-text);font-size:20px;min-width:30px}
.toc b{color:var(--navy);font-weight:600}
.shop{display:grid;grid-template-columns:1fr;gap:10px;margin:12px 0}
.shop a{display:block;background:#fff;border:1px solid var(--line);border-left:4px solid var(--taupe);border-radius:4px;padding:12px 14px;text-decoration:none;color:inherit}
.shop a b{color:var(--navy)}
.outfit dl{display:grid;grid-template-columns:110px 1fr;gap:4px 10px;margin:8px 0 0;font-size:15px}
.outfit dt{color:var(--taupe-text);font-size:13px}
.outfit dd{margin:0}
.note{background:#fff;border-left:4px solid var(--taupe);padding:10px 14px;margin:12px 0;font-size:15px}
#toast{position:fixed;left:50%;bottom:calc(var(--tabs) + 16px + env(safe-area-inset-bottom));transform:translateX(-50%);background:var(--onyx);color:#fff;padding:10px 16px;border-radius:4px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s;z-index:20;max-width:calc(100% - 32px)}
#toast.on{opacity:1}
#print{display:none}
@media (min-width:641px){.shop{grid-template-columns:1fr 1fr 1fr}.looks{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}}
@media (max-width:640px){h1{font-size:24px}h2{font-size:20px}.grid2{grid-template-columns:1fr}.outfit dl{grid-template-columns:95px 1fr}}
@media print{
  body{padding:0;background:#fff;font-size:11pt}
  .bar,.tabs,#app,#toast{display:none!important}
  #print{display:block}
  #print h1{font-size:22pt}
  #print h2{font-size:14pt;margin-top:14pt}
  #print table{width:100%;border-collapse:collapse;font-size:10pt}
  #print td,#print th{border-bottom:.5pt solid #ccc;padding:3pt 4pt;text-align:left;vertical-align:top}
  #print .box{display:inline-block;width:9pt;height:9pt;border:1pt solid var(--navy);margin-right:6pt;vertical-align:-1pt}
  #print .cols{columns:2;column-gap:18pt}
  #print .cols div{break-inside:avoid}
  #print ul{list-style:none;padding:0;margin:0 0 8pt}
  #print li{padding:2pt 0}
  #print .foot{margin-top:18pt;font-size:8pt;color:#777}
}
