:root{--paper:#f5f0e6;--paper2:#fffdf7;--ink:#27271f;--muted:#77766c;--line:#dcd5c7;--olive:#686a4b;--olive-dark:#414431;--rust:#a35f47;--serif:'Playfair Display',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--shadow:0 18px 55px #39311b12}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer}.wrap{width:min(1120px,calc(100% - 48px));margin-inline:auto}.site-header{height:76px;padding:0 max(24px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #dcd5c780;background:#f5f0e6ed;position:sticky;top:0;z-index:20;backdrop-filter:blur(12px)}.brand{display:inline-flex;align-items:center;gap:10px;font-family:var(--serif);font-size:21px;font-weight:600;letter-spacing:-.7px}.brand-mark{font-family:var(--sans);font-size:21px;color:var(--rust)}.brand-dot{color:var(--rust)}.main-nav{display:flex;gap:34px;color:#5c5c52;font-size:13px}.main-nav a:hover,.text-link:hover{color:var(--rust)}.button{border:1px solid transparent;display:inline-flex;justify-content:center;align-items:center;gap:12px;padding:12px 19px;font-size:12px;font-weight:700;letter-spacing:.02em;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.button-dark{background:var(--olive-dark);color:#fffdf7}.button-dark:hover{background:#303322}.button-outline{border-color:#bdb7a8;background:transparent;color:var(--ink)}.button-small{padding:9px 15px}.hero{min-height:620px;padding-top:85px;display:grid;grid-template-columns:1.03fr .97fr;position:relative;align-items:center;padding-bottom:90px}.hero-copy{padding-bottom:15px;position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:var(--olive);margin:0 0 18px}.tiny-rule{display:inline-block;width:23px;height:1px;background:var(--rust);vertical-align:middle;margin-right:8px}.hero h1,.section h2{font-family:var(--serif);font-size:clamp(43px,5.4vw,68px);font-weight:500;line-height:1.14;letter-spacing:-2px;margin:0}.hero h1 em,.section h2 em{font-weight:400;color:var(--rust)}.hero-intro{max-width:420px;color:#6d6b61;font-size:15px;line-height:1.95;margin:25px 0 28px}.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.text-link{font-size:12px;font-weight:600}.text-link span{margin-left:5px}.hero-note{display:flex;gap:12px;align-items:center;color:#77766c;font-size:10px;letter-spacing:.04em;margin-top:48px}.note-line{height:1px;width:32px;background:var(--rust)}.hero-art{height:440px;position:relative;display:grid;place-items:center}.art-back{position:absolute;width:330px;height:405px;background:#e7dfcf;transform:rotate(6deg);box-shadow:var(--shadow)}.paper-sheet{position:relative;width:310px;height:405px;background:#fffdf7;box-shadow:0 20px 45px #2e28151b;padding:24px 27px;transform:rotate(-3deg);border:1px solid #e8e1d3}.paper-top{font-size:8px;letter-spacing:.16em;color:#858273;border-bottom:1px solid #e7e0d3;padding-bottom:14px}.paper-flower{font-size:28px;color:#a35f47;text-align:center;margin-top:20px}.paper-verse{font-family:var(--serif);font-size:22px;line-height:1.65;margin:12px 0 0 20px;color:#48483c}.paper-sign{font-family:var(--serif);font-style:italic;font-size:10px;color:#8a867a;text-align:right;margin-top:24px}.paper-stamp{position:absolute;bottom:22px;left:27px;font-size:8px;line-height:1.8;letter-spacing:.15em;color:#9b9688;border:1px solid #d6cebe;padding:6px 9px}.art-spark{position:absolute;color:var(--rust)}.spark-one{font-size:30px;right:6%;top:17%}.spark-two{font-size:25px;left:5%;bottom:17%}.art-caption{position:absolute;right:-2%;bottom:5%;font-size:8px;letter-spacing:.18em;color:#888375;writing-mode:vertical-rl}.hero-bottom{position:absolute;bottom:27px;left:0;right:0;border-top:1px solid var(--line);padding-top:15px;display:flex;justify-content:space-between;color:#8b877b;font-size:9px;letter-spacing:.15em}.section{padding:100px 0}.section-paper{background:#ebe5d9;border-block:1px solid #e0d8ca}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:38px}.section-heading .eyebrow{margin-bottom:12px}.section h2{font-size:48px}.section-aside{font-family:var(--serif);font-size:14px;font-style:italic;line-height:1.8;color:#7d796d;margin:0 0 5px}.library-tools{display:flex;gap:12px;margin-bottom:27px}.search-box{display:flex;align-items:center;gap:12px;flex:1;border:1px solid #d3ccbe;background:#f7f3ea;padding:0 14px;min-width:0}.search-box span{font-size:25px;color:#8b887d}.search-box input{width:100%;border:0;outline:0;background:transparent;padding:12px 0;font-size:12px}.library-tools select{border:1px solid #d3ccbe;background:#f7f3ea;padding:0 14px;color:#5d5b51;font-size:12px;min-width:170px}.poem-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.poem-card{background:var(--paper2);border:1px solid #e2dbce;min-height:235px;padding:25px;display:flex;flex-direction:column;position:relative;transition:transform .2s,box-shadow .2s;cursor:pointer}.poem-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.poem-card:before{content:'✳';position:absolute;right:20px;top:18px;color:#b8ae9b;font-size:14px}.poem-card .eyebrow{margin-bottom:17px;font-size:9px}.poem-card h3{font-family:var(--serif);font-size:23px;line-height:1.3;font-weight:500;margin:0 0 12px;padding-right:18px}.poem-excerpt{font-family:var(--serif);white-space:pre-line;color:#79766a;font-size:13px;line-height:1.8;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:0 0 18px}.poem-card-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eee8dc;padding-top:13px;color:#9b9588;font-size:9px;letter-spacing:.08em}.poem-card-foot span:last-child{color:var(--rust)}.placeholder-card{cursor:default}.placeholder-card:hover{transform:none;box-shadow:none}.poem-count{font-size:10px;color:#8a8578;letter-spacing:.1em;margin:24px 0 0}.about-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px;align-items:center}.about-symbol{height:300px;display:grid;place-items:center;position:relative}.about-symbol>span{font-family:var(--serif);font-size:190px;line-height:1;color:#ded5c3;position:relative;z-index:1}.symbol-ring{position:absolute;width:230px;height:230px;border:1px solid #d1c6b2;border-radius:50%}.symbol-ring:before,.symbol-ring:after{content:'';position:absolute;background:var(--paper);border:1px solid #d1c6b2;width:12px;height:12px;border-radius:50%;left:calc(50% - 6px);top:-6px}.symbol-ring:after{top:auto;bottom:-6px}.about-symbol small{position:absolute;bottom:7px;font-size:8px;line-height:1.7;letter-spacing:.2em;color:#918a7a;text-align:center}.about-copy h2{font-size:43px;margin-bottom:25px}.about-copy>p:not(.eyebrow):not(.signature){color:#706d62;max-width:600px;line-height:2;font-size:14px}.signature{font-family:var(--serif);font-style:italic;color:var(--rust);margin-top:30px}.ai-section{background:#e9e3d7;border-block:1px solid #ddd4c5}.ai-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.ai-copy h2{font-size:45px}.ai-copy>p:not(.eyebrow){color:#6f6c61;font-size:13px;line-height:2}.ai-disclaimer{font-size:11px!important;border-left:2px solid #b5a58d;padding-left:12px}.chat-panel{background:#fffdf8;border:1px solid #ddd5c6;box-shadow:0 20px 50px #3c33200d;min-height:480px;display:flex;flex-direction:column}.chat-head{display:flex;align-items:center;gap:12px;padding:18px 20px;border-bottom:1px solid #eee8dc}.chat-avatar{width:38px;height:38px;border-radius:50%;background:#eee8dc;display:grid;place-items:center;color:var(--rust);font-size:19px}.chat-head strong{display:block;font-size:12px}.chat-head span{display:block;font-size:10px;color:#898579}.chat-head span i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#7e8b68;margin-right:5px}.icon-button{margin-left:auto;border:0;background:transparent;color:#817c70;font-size:21px}.chat-messages{padding:20px;display:flex;flex-direction:column;gap:14px;flex:1;max-height:310px;overflow-y:auto}.chat-message{max-width:88%;padding:13px 15px;font-size:12px;line-height:1.85;white-space:pre-wrap}.bot-message{align-self:flex-start;background:#f2eee5;color:#49483f}.user-message{align-self:flex-end;background:#4a4c38;color:#fffdf7}.message-meta{font-size:8px;letter-spacing:.12em;color:#999284;margin-top:8px}.user-message .message-meta{color:#d0d0c1}.suggestions{display:flex;gap:7px;flex-wrap:wrap;padding:0 20px 14px}.suggestion{background:transparent;border:1px solid #ded6c8;border-radius:20px;padding:7px 10px;color:#777267;font-size:10px}.suggestion:hover{border-color:var(--olive)}.chat-form{display:flex;border:1px solid #dcd4c5;margin:0 20px;padding:5px;gap:6px}.chat-form input{border:0;outline:0;background:transparent;padding:9px 10px;flex:1;min-width:0;font-size:12px}.send-button{width:36px;border:0;background:var(--olive-dark);color:white;font-size:19px}.chat-footnote{text-align:center;color:#aaa394;font-size:9px;margin:10px 12px 15px}.account-section{background:#f0eadf;border-top:1px solid var(--line)}.admin-panel{margin-top:35px;background:#faf7ef;border:1px solid var(--line);padding:25px}.admin-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.admin-heading h3,.knowledge-box h3{font-family:var(--serif);font-size:25px;font-weight:500;margin:0}.admin-heading .eyebrow{margin-bottom:5px}.editor-form{padding:22px;background:#f1ebdf;border:1px solid var(--line);margin-bottom:25px;display:grid;gap:15px}.editor-form label,.auth-dialog label{display:grid;gap:6px;font-size:11px;font-weight:700;color:#69675d}.editor-form input,.editor-form textarea,.editor-form select,.auth-dialog input,.knowledge-form input:not([type=checkbox]),.knowledge-form textarea{width:100%;padding:11px 12px;border:1px solid #d4ccbd;background:#fffdf8;outline-color:#8a8c6e;color:var(--ink);font-size:12px;font-weight:400}.editor-form textarea,.knowledge-form textarea{resize:vertical;line-height:1.8}.editor-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.editor-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.muted{color:#8b8578;font-size:12px}.admin-list{display:grid;gap:8px}.admin-row{display:flex;gap:12px;align-items:center;justify-content:space-between;border-bottom:1px solid #e6dfd1;padding:13px 0}.admin-row strong{font-family:var(--serif);font-weight:500;font-size:17px}.admin-row small{display:block;color:#8c8679;font-size:10px}.admin-row-actions{display:flex;gap:8px;flex-shrink:0}.mini-button{border:1px solid #d4ccbd;background:transparent;padding:6px 10px;font-size:10px}.mini-button.danger{color:#984e3e}.knowledge-box{border-top:1px solid var(--line);margin-top:35px;padding-top:25px}.knowledge-box>div:first-child p{font-size:12px;color:#8b8578}.knowledge-form{display:grid;gap:10px;max-width:700px;margin:18px 0}.check-label{font-size:11px;color:#6e6b60;display:flex;gap:8px;align-items:center}.knowledge-list{display:grid;gap:8px}.knowledge-row{padding:10px 0;border-bottom:1px solid #e5ddcf;display:flex;justify-content:space-between;gap:12px;font-size:12px}.hidden{display:none!important}.site-footer{border-top:1px solid var(--line);padding:25px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between}.footer-inner p{font-family:var(--serif);font-style:italic;color:#8a8578;font-size:12px}.back-top{font-size:9px;letter-spacing:.15em;color:#827d70}.auth-dialog{width:min(430px,calc(100% - 28px));border:1px solid #d8d0c1;background:var(--paper2);padding:32px;box-shadow:0 30px 90px #25201240;color:var(--ink)}.auth-dialog::backdrop{background:#25251dcc;backdrop-filter:blur(3px)}.dialog-close{position:absolute;right:15px;top:10px;border:0;background:transparent;font-size:25px;color:#777}.auth-dialog h2{font-family:var(--serif);font-size:36px;font-weight:500;margin:0}.auth-dialog>p{font-size:12px}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--line);margin:22px 0}.auth-tabs button{border:0;background:transparent;padding:10px 5px;color:#8c8678;font-size:11px}.auth-tabs button.active{color:var(--ink);border-bottom:2px solid var(--rust)}#auth-form{display:grid;gap:14px}.full-button{width:100%;margin-top:5px}.form-status{font-size:11px;color:var(--rust);margin:0;min-height:17px}.auth-note{font-size:10px!important;color:#9a9386;text-align:center;margin-top:18px}.toast{position:fixed;left:50%;bottom:25px;transform:translate(-50%,20px);background:#343629;color:#fffdf7;padding:11px 18px;font-size:12px;box-shadow:var(--shadow);opacity:0;pointer-events:none;transition:.25s;z-index:50;max-width:calc(100% - 30px)}.toast.show{opacity:1;transform:translate(-50%,0)}.menu-toggle{display:none;border:0;background:transparent;font-size:21px}.empty-state{grid-column:1/-1;border:1px dashed #cfc6b5;padding:35px;text-align:center;color:#827d70;font-size:13px}.poem-dialog{width:min(680px,calc(100% - 28px));max-height:85vh;overflow:auto;border:1px solid #d8d0c1;background:#fffdf7;padding:clamp(24px,6vw,55px);color:var(--ink)}.poem-dialog::backdrop{background:#25251dcc;backdrop-filter:blur(3px)}.poem-dialog h2{font-family:var(--serif);font-weight:500;font-size:clamp(30px,5vw,45px);line-height:1.2}.poem-dialog .poem-full-content{white-space:pre-wrap;font-family:var(--serif);font-size:17px;line-height:2;color:#4f4d42}.poem-dialog .dialog-close{position:sticky;float:right;top:0}.poem-dialog .poem-date{font-size:10px;color:#8b8578;letter-spacing:.12em}
@media(max-width:800px){.site-header{height:68px}.main-nav{gap:16px}.hero{padding-top:55px;min-height:560px;grid-template-columns:1fr .8fr}.hero-art{transform:scale(.82);transform-origin:center right;margin-left:-50px}.hero h1{font-size:48px}.about-grid,.ai-grid{gap:35px}.poem-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.about-copy h2,.ai-copy h2{font-size:36px}.section{padding:75px 0}}@media(max-width:600px){.wrap{width:calc(100% - 36px)}.site-header{padding:0 18px}.main-nav{display:none;position:absolute;top:67px;left:0;right:0;background:var(--paper);padding:18px;flex-direction:column;gap:13px;border-bottom:1px solid var(--line)}.main-nav.open{display:flex}.site-header>.button{margin-left:auto;margin-right:12px}.menu-toggle{display:block}.brand{font-size:19px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:58px;padding-bottom:80px}.hero h1{font-size:49px}.hero-intro{font-size:14px}.hero-note{margin-top:32px}.hero-art{height:360px;transform:scale(.82);transform-origin:top center;margin:15px 0 -40px}.art-caption{right:0}.hero-bottom{font-size:7px;letter-spacing:.08em}.section{padding:65px 0}.section-heading{align-items:start;gap:15px;flex-direction:column;margin-bottom:25px}.section h2{font-size:42px}.section-aside{font-size:13px}.library-tools{flex-direction:column}.library-tools select{min-height:42px}.poem-grid{grid-template-columns:1fr}.poem-card{min-height:190px}.about-grid,.ai-grid{grid-template-columns:1fr;gap:25px}.about-symbol{height:190px}.about-symbol>span{font-size:135px}.symbol-ring{width:165px;height:165px}.about-symbol small{bottom:0}.about-copy h2,.ai-copy h2{font-size:37px}.chat-panel{min-height:450px}.admin-panel{padding:15px}.admin-heading{align-items:start;gap:10px;flex-direction:column}.editor-two{grid-template-columns:1fr}.admin-row{align-items:start;flex-direction:column}.admin-row-actions{flex-wrap:wrap}.footer-inner{flex-wrap:wrap;gap:10px}.footer-inner p{order:3;width:100%;margin:0}.auth-dialog{padding:27px 22px}}


/* ===== NEMO: BLACK & WHITE APP REDESIGN ===== */
:root {
  --paper: #f7f7f7;
  --paper2: #ffffff;
  --ink: #171717;
  --muted: #737373;
  --line: #e5e5e5;
  --olive: #555555;
  --olive-dark: #171717;
  --rust: #555555;
  --serif: Arial, Helvetica, sans-serif;
  --sans: Arial, Helvetica, sans-serif;
  --shadow: 0 12px 35px #0000000a;
}

html {
  scroll-padding-top: 30px;
}

body {
  padding-left: 245px;
  background: #f7f7f7;
  color: #171717;
  font-size: 14px;
}

.site-header {
  position: fixed;
  inset: 0 auto 0 0;
  z-index: 100;
  width: 245px;
  height: 100vh;
  padding: 32px 22px;
  background: #fff;
  border-right: 1px solid #e5e5e5;
  border-bottom: 0;
  backdrop-filter: none;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  gap: 36px;
}

.brand {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 22px;
  letter-spacing: -1px;
}

.brand-mark,
.brand-dot {
  color: #171717;
}

.main-nav {
  display: flex;
  flex-direction: column;
  gap: 8px;
  color: #666;
  font-size: 14px;
}

.main-nav a {
  display: block;
  padding: 12px 14px;
  border-radius: 8px;
  transition: background .2s, color .2s;
}

.main-nav a:hover {
  background: #f0f0f0;
  color: #111;
}

.site-header > .button {
  margin-top: auto;
  width: 100%;
}

.button,
.button-dark,
.button-outline {
  border-radius: 8px;
}

.button-dark {
  background: #171717;
  color: white;
}

.button-dark:hover {
  background: #333;
}

.button-outline {
  border-color: #dedede;
  background: white;
}

.hero {
  min-height: 570px;
  padding-top: 65px;
  padding-bottom: 75px;
}

.hero h1,
.section h2,
.about-copy h2,
.ai-copy h2 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  letter-spacing: -2px;
  color: #171717;
}

.hero h1 em,
.section h2 em {
  color: #737373;
}

.eyebrow {
  color: #666;
}

.tiny-rule,
.note-line {
  background: #171717;
}

.hero-intro,
.section-aside,
.about-copy > p:not(.eyebrow):not(.signature),
.ai-copy > p:not(.eyebrow) {
  color: #666;
}

.hero-art {
  filter: grayscale(1);
}

.art-back {
  background: #e8e8e8;
}

.paper-sheet {
  background: #fff;
  border-color: #e5e5e5;
}

.paper-verse {
  color: #222;
}

.paper-flower,
.art-spark,
.signature {
  color: #444;
}

.hero-bottom {
  border-color: #e5e5e5;
  color: #777;
}

.section {
  padding: 75px 0;
}

.section-paper,
.ai-section,
.account-section {
  background: #f0f0f0;
  border-color: #e2e2e2;
}

.search-box,
.library-tools select,
.poem-card,
.chat-panel,
.admin-panel,
.auth-dialog,
.poem-dialog {
  background: #fff;
  border-color: #e5e5e5;
}

.search-box input,
.library-tools select,
.editor-form input,
.editor-form textarea,
.editor-form select,
.knowledge-form input:not([type="checkbox"]),
.knowledge-form textarea,
.auth-dialog input {
  background: #fff;
  border-color: #ddd;
  border-radius: 6px;
}

.poem-card {
  border-radius: 10px;
  box-shadow: none;
}

.poem-card:hover {
  box-shadow: 0 10px 28px #0000000a;
}

.poem-card:before {
  color: #777;
}

.poem-card-foot span:last-child {
  color: #444;
}

.about-symbol > span {
  color: #ddd;
}

.symbol-ring,
.symbol-ring:before,
.symbol-ring:after {
  border-color: #ccc;
}

.chat-panel {
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 35px #00000008;
}

.chat-avatar,
.bot-message {
  background: #f0f0f0;
  color: #222;
}

.user-message,
.send-button {
  background: #171717;
  color: #fff;
}

.suggestion {
  border-radius: 7px;
  color: #555;
}

.suggestion:hover {
  border-color: #777;
}

.admin-panel,
.editor-form {
  border-radius: 10px;
}

.editor-form {
  background: #f7f7f7;
}

.mini-button {
  border-radius: 6px;
}

.site-footer {
  border-color: #e5e5e5;
}

.auth-dialog::backdrop,
.poem-dialog::backdrop {
  background: #000b;
}

.toast {
  background: #171717;
  border-radius: 8px;
}

/* Responsive layout */
@media (max-width: 800px) {
  body {
    padding-left: 0;
  }

  .site-header {
    position: sticky;
    inset: auto;
    width: 100%;
    height: 68px;
    padding: 0 18px;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-right: 0;
    border-bottom: 1px solid #e5e5e5;
  }

  .main-nav {
    flex-direction: row;
    gap: 8px;
  }

  .main-nav a {
    padding: 8px;
  }

  .site-header > .button {
    width: auto;
    margin: 0;
  }
}

@media (max-width: 600px) {
  body {
    padding-left: 0;
  }

  .site-header {
    position: sticky;
    height: 64px;
    padding: 0 14px;
    gap: 6px;
  }

  .main-nav {
    position: absolute;
    top: 63px;
    left: 0;
    right: 0;
    background: #fff;
    padding: 12px 16px;
    flex-direction: column;
    border-bottom: 1px solid #e5e5e5;
  }

  .main-nav.open {
    display: flex;
  }

  .site-header > .button {
    margin-left: auto;
    margin-right: 0;
    padding: 9px 10px;
    font-size: 11px;
  }

  .menu-toggle {
    display: block;
    color: #171717;
  }

  .hero {
    padding-top: 45px;
  }

  .hero h1 {
    font-size: clamp(38px, 10vw, 49px);
  }

  .section {
    padding: 55px 0;
  }

  .poem-grid {
    grid-template-columns: 1fr;
  }
}
