:root {
  color-scheme: light;
  --ink:#1c302b;
  --muted:#61726c;
  --paper:#f7f8f4;
  --panel:#fff;
  --border:#e1e9e2;
  --green:#247c61;
  --green-dark:#155d49;
  --pale:#eaf5ef;
  --orange:#f1bd75;
  --red:#9c4242;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-synthesis:none;
  -webkit-font-smoothing:antialiased;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{margin:0;color:var(--ink);background:var(--paper);line-height:1.5}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
a{color:var(--green-dark)}
a:hover{text-decoration-color:currentColor}
.shell{width:min(1120px,calc(100% - 40px));margin-inline:auto}
.site-header{background:rgba(255,255,255,.93);border-bottom:1px solid var(--border);position:relative;z-index:4}
.topbar{min-height:75px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:850;font-size:1.42rem;letter-spacing:-.06em}
.logo-mark{display:grid;place-items:center;background:#e3f4e9;color:var(--green);width:40px;height:40px;font-size:1.7rem;border-radius:13px;line-height:1}
.logo-dot{color:#f5a43c}
.nav{display:flex;align-items:center;gap:19px}
.nav-link,.quiet{color:#435b52;text-decoration:none;font-size:.9rem;font-weight:650}
.nav-link:hover,.quiet:hover{color:var(--green-dark)}
.account{display:grid;place-items:center;border-radius:50%;width:34px;height:34px;background:#def0e4;color:var(--green-dark);font-weight:850}
.inline-form{margin:0}
.quiet{background:none;border:0;padding:7px 0}
.main{min-height:calc(100vh - 170px);padding-top:38px;padding-bottom:48px}
.eyebrow{color:var(--green);font-weight:800;font-size:.72rem;letter-spacing:.12em;margin:0 0 10px}
h1,h2,h3,p{overflow-wrap:anywhere}
h1{font-size:clamp(2.25rem,5.2vw,3.65rem);letter-spacing:-.065em;line-height:1.11;margin:0 0 14px;font-weight:840}
h2{font-size:1.6rem;letter-spacing:-.045em;margin:0}
h3{font-size:1.2rem;line-height:1.3;letter-spacing:-.025em;margin:0}
p{margin:0 0 15px}
.panel{background:var(--panel);border:1px solid var(--border);border-radius:20px;box-shadow:0 7px 27px rgba(34,67,51,.035)}
.button,button[type="submit"]:not(.quiet):not(.text-danger):not(.small-button),.secondary-button{display:inline-flex;justify-content:center;align-items:center;gap:10px;text-decoration:none;padding:12px 19px;border-radius:11px;font-size:.94rem;font-weight:750;border:1px solid transparent;transition:background-color .15s,transform .15s}
.button,button[type="submit"]:not(.quiet):not(.text-danger):not(.small-button){background:var(--green);color:white}
.button:hover,button[type="submit"]:not(.quiet):not(.text-danger):not(.small-button):hover{background:var(--green-dark);text-decoration:none}
.secondary-button{background:#eaf1eb;color:var(--green-dark);border-color:#deeadf}
.secondary-button:hover{background:#dcece0}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #e7a34b;outline-offset:3px}
.alert,.success{padding:13px 17px;border-radius:12px;margin:0 0 22px;border:1px solid}
.alert{background:#fff0ef;color:#833c38;border-color:#f5d0ce}
.success{background:#e8f6e9;color:#205d38;border-color:#ceebd2}
.muted-copy,.hint,.subline{color:var(--muted)}
.hint{font-size:.84rem;line-height:1.55}
.small,.optional{color:var(--muted);font-size:.76rem;font-weight:500}
.required{color:var(--red)}
.fields{display:grid;gap:16px}
.fields label,.sharing-box label{display:grid;gap:7px;font-size:.88rem;font-weight:700;color:#364c43}
input:not([type="checkbox"]),select,textarea{display:block;width:100%;min-width:0;border:1px solid #d4dfd7;border-radius:10px;background:white;color:var(--ink);padding:11px 12px;font-size:.94rem}
input::placeholder,textarea::placeholder{color:#8a9b92}
textarea{resize:vertical;min-height:92px}
select{padding-right:35px}
input[readonly]{background:#f7f8f5;color:#485c53}
.form-row{display:grid;gap:14px}
.form-row.two-thirds{grid-template-columns:2fr 1fr}
.form-row.thirds{grid-template-columns:1.15fr 1fr .9fr}
.form-actions{display:flex;gap:14px;justify-content:space-between;align-items:center;flex-wrap:wrap}
.buttons{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.checkbox-label{display:flex!important;align-items:center;gap:9px!important;cursor:pointer}
.checkbox-label input{accent-color:var(--green);width:18px;height:18px}

/* Dashboard */
.dashboard-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:12px 0 34px}
.dashboard-heading h1{max-width:680px;margin-bottom:10px}
.dashboard-heading h1 em{color:var(--green);font-style:normal}
.dashboard-heading p:last-child{font-size:1.03rem;color:var(--muted);margin:0}
.add-top{white-space:nowrap;margin-bottom:4px}
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-bottom:23px}
.stat{min-height:112px;display:flex;justify-content:space-between;flex-direction:column;background:#edf3ed;border:1px solid #e4ece2;border-radius:15px;padding:17px 20px}
.stat:nth-child(2){background:#f4f0e5;border-color:#efe7d6}
.stat:nth-child(3){background:#e8f2f1;border-color:#deece9}
.stat-label{font-size:.82rem;font-weight:650;color:#4d6156}
.stat strong{font-size:2rem;letter-spacing:-.06em;line-height:1.2}
.editor-panel{padding:27px 29px;scroll-margin-top:22px}
.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:24px}
.section-heading .eyebrow{margin-bottom:4px}
.decorative-spark{font-size:2rem;color:var(--orange)}
.idea-form{gap:15px}
.collection{padding-top:42px}
.collection-title{margin-bottom:17px}
.counter{font-size:.95rem;vertical-align:middle;color:#47735d;border-radius:99px;padding:3px 9px;background:#e5f1e9;font-weight:800;letter-spacing:normal}
.toolbar{display:flex;gap:12px;justify-content:space-between;align-items:center}
.search-field{display:flex;align-items:center;position:relative;flex:1}
.search-field input{max-width:440px;padding-left:38px}
.search-icon{position:absolute;left:14px;font-size:1.5rem;line-height:1;color:#8ba399;pointer-events:none}
.filter-category{width:205px}
.filters{display:flex;gap:8px;flex-wrap:wrap;margin:17px 0 20px}
.filter{border:1px solid #dce9dd;background:#edf2ec;color:#56695c;padding:7px 17px;border-radius:99px;font-weight:750;font-size:.84rem}
.filter:hover{background:#dfece1}
.filter.active{background:var(--green);border-color:var(--green);color:white}
.idea-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.idea-card{display:flex;flex-direction:column;min-width:0;padding:19px 20px 0;background:white;border:1px solid var(--border);border-radius:18px;box-shadow:0 5px 22px rgba(41,64,50,.03);scroll-margin-top:30px;overflow:hidden}
.idea-card[hidden]{display:none}
.idea-card-top{display:flex;align-items:start;justify-content:space-between;gap:14px;margin-bottom:15px}
.idea-symbol{display:grid;place-items:center;background:#e9f4ed;border-radius:15px;width:54px;height:54px;font-size:1.7rem}
.card-top-right{display:flex;align-items:center;gap:8px}
.favorite{color:#e5a73c;font-size:1.2rem;line-height:1}
.state{padding:5px 9px;border-radius:99px;font-size:.73rem;font-weight:750;color:#64766e;background:#f0f4ef;white-space:nowrap}
.state-geplant{background:#fff2da;color:#8c6223}
.state-erledigt{background:#ddf3e6;color:#327c56}
.category-name{text-transform:uppercase;font-size:.72rem;font-weight:800;color:var(--green);letter-spacing:.055em;margin-bottom:5px}
.idea-card h3{margin-bottom:12px}
.description{color:#56685e;font-size:.89rem;line-height:1.63;white-space:normal}
.description.clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:4;line-clamp:4;overflow:hidden;margin-bottom:13px}
.description.large{font-size:1.03rem;line-height:1.8;margin:20px 0}
.details{display:flex;flex-direction:column;gap:5px;color:#61736b;font-size:.82rem;margin:0 0 14px}
.website-link{font-size:.88rem;font-weight:750;text-decoration:none;margin:0 0 16px}
.website-link:hover{text-decoration:underline}
.card-actions{display:flex;align-items:center;gap:15px;flex-wrap:wrap;margin-top:auto;border-top:1px solid #eff3ed;padding:14px 0;font-size:.8rem;font-weight:700}
.card-actions a{text-decoration:none}
.card-actions a:hover{text-decoration:underline}
.share-details{position:relative}
.share-details summary{list-style:none;color:var(--green-dark);cursor:pointer}
.share-details summary::-webkit-details-marker{display:none}
.share-details summary:hover{text-decoration:underline}
.share-details[open]{width:100%;order:3}
.sharing-box{font-weight:400;padding:16px 0 4px;max-width:100%}
.sharing-box p{margin-bottom:12px}
.sharing-box .hint{color:#61756b}
.sharing-form{display:grid;gap:10px;margin:12px 0 16px}
.sharing-form button{justify-self:start}
.share-input{font-size:.78rem!important}
.mini-actions{display:flex;gap:8px;margin:9px 0 11px;flex-wrap:wrap}
.small-button{display:inline-block;border:1px solid var(--green);background:var(--green);color:white;padding:8px 12px;border-radius:9px;font-size:.78rem;font-weight:750}
.small-button:hover{background:var(--green-dark)}
.small-button.outline{background:white;color:var(--green-dark);border-color:#bed9c6}
.small-button.outline:hover{background:#e8f3ea}
.delete-form{margin-left:auto}
.text-danger{background:none;border:none;padding:0;color:var(--red);font-size:.8rem;font-weight:700}
.text-danger:hover{text-decoration:underline}
.expired{color:#945b28;font-size:.84rem;font-weight:650}
.empty-state,.empty-filter{text-align:center;background:white;border:1px dashed #ceded0;border-radius:20px;padding:40px 20px;color:var(--muted)}
.empty-state h3{color:var(--ink);margin-bottom:8px}
.empty-state .button{margin-top:12px}
.empty-symbol{font-size:2.8rem;color:var(--green);margin-bottom:6px}
.empty-filter{margin-top:15px}

/* Anmeldung */
.auth-layout{display:grid;grid-template-columns:1.12fr .88fr;gap:clamp(20px,6vw,78px);align-items:center;min-height:590px;padding:15px 0 45px}
.auth-intro h1{max-width:560px;font-size:clamp(2.85rem,6.5vw,4.6rem);line-height:1.03}
.auth-intro h1 span{color:var(--green)}
.auth-intro>p:nth-of-type(2){font-size:1.05rem;color:var(--muted);max-width:500px;line-height:1.7}
.sample-note{display:flex;align-items:center;gap:13px;max-width:380px;border:1px solid #dee9df;border-radius:15px;padding:15px;background:white;box-shadow:0 15px 25px rgba(26,68,45,.05);transform:rotate(-2deg);margin:30px 5px 27px}
.sample-note>span:first-child{font-size:1.65rem;background:#e9f3e9;padding:10px;border-radius:11px}
.sample-note>span:last-child{margin-left:auto;color:var(--green);font-size:1.4rem}
.sample-note strong{display:block;font-size:.88rem}
.sample-note div span{display:block;color:var(--muted);font-size:.76rem}
.tiny-benefit{font-size:.85rem;color:#60726a}
.auth-panel{padding:29px}
.auth-panel h2{font-size:1.7rem;margin-bottom:7px}
.auth-panel .muted-copy{font-size:.91rem;margin-bottom:24px}
.auth-panel .fields button{margin-top:5px}
.register{margin-top:13px;padding:14px 24px}
.register summary{cursor:pointer;color:var(--green-dark);font-weight:700;font-size:.84rem}
.register .fields{padding-top:16px}
.register-hint{margin:11px 0 2px}
/* Zugängliche Formular-Falle für einfache Spam-Bots, bewusst ausserhalb des sichtbaren Bereichs. */
.spam-trap{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important}
.register-closed{color:#8b938d;font-size:.83rem;text-align:center;margin-top:15px}

/* Geteilte Ansicht */
.shared-layout{max-width:670px;margin:20px auto 90px;text-align:center}
.shared-icon{display:grid;place-items:center;width:90px;height:90px;border-radius:22px;background:#e6f4e8;margin:12px auto 22px;font-size:3rem}
.shared-layout h1{font-size:clamp(2rem,4.5vw,3.15rem)}
.shared-layout .subline{margin-bottom:25px}
.shared-panel{padding:30px;text-align:left}
.shared-panel .meta{display:flex;gap:10px;flex-wrap:wrap}
.pill{background:#e7f4e9;color:#287452;padding:5px 12px;border-radius:99px;font-weight:750;font-size:.77rem}
.pill.muted{background:#f1f4ee;color:#69786e}
.detail{font-size:.93rem;color:#516a5d;margin-top:10px}
.save-friend{margin-top:22px}
.privacy-note{color:#718077;font-size:.8rem;line-height:1.6;margin:22px 0}
.text-link{font-weight:700;text-decoration:none}
.text-link:hover{text-decoration:underline}
.settings-layout{max-width:630px;margin:20px auto 50px}
.settings-layout h1{font-size:2.65rem;margin-bottom:20px}
.settings-layout .panel{padding:28px}
.settings-layout h2{font-size:1.45rem;margin:24px 0 20px}
.settings-layout .fields{max-width:440px}
.site-footer{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:.79rem;color:#8c998e;border-top:1px solid var(--border);padding-top:26px;padding-bottom:28px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}

@media (max-width:960px){
  .idea-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .auth-layout{gap:30px}
}
@media (max-width:700px){
  .shell{width:min(100% - 28px,1120px)}
  .main{padding-top:24px}
  .nav{gap:11px}
  .nav-link{font-size:.82rem}
  .nav-link:first-child{display:none}
  .dashboard-heading{align-items:start;flex-direction:column;margin:10px 0 24px}
  .dashboard-heading h1{font-size:clamp(2.1rem,9vw,3rem)}
  .add-top{width:100%;margin:0}
  .stats{gap:7px}
  .stat{padding:12px;min-height:96px}
  .stat-label{font-size:.72rem;line-height:1.3}
  .stat strong{font-size:1.7rem}
  .editor-panel{padding:19px 17px}
  .form-row.two-thirds,.form-row.thirds{grid-template-columns:1fr}
  .toolbar{align-items:stretch;flex-direction:column}
  .search-field input{max-width:none}
  .filter-category{width:100%}
  .collection{padding-top:33px}
  .idea-grid{grid-template-columns:1fr}
  .idea-card{padding:18px 18px 0}
  .form-actions{align-items:stretch;flex-direction:column}
  .buttons,.buttons button{width:100%}
  .auth-layout{grid-template-columns:1fr;min-height:0;padding:12px 0 30px}
  .auth-intro h1{font-size:clamp(2.6rem,12vw,4rem)}
  .auth-panel{padding:22px}
  .shared-panel{padding:21px}
  .site-footer{font-size:.72rem}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
