.top-actions{display:flex;align-items:center;gap:18px}
#btnAutoDeal[hidden]{display:none}
#btnAutoDeal:disabled{opacity:.4;cursor:default}
.btn-more{border-color:rgba(143,168,160,.34)}
.symbols{margin-top:13px;color:#9d927f;font-size:11px;line-height:1.8;letter-spacing:.12em}
.symbols span{margin-right:10px;color:#c8a165;letter-spacing:.22em}
.reflection{margin:14px 0 0;padding:12px 16px;border-left:1px solid rgba(200,161,101,.48);color:#d8c8aa;
  font-size:12.5px;font-style:italic;line-height:1.8;text-align:left;background:rgba(200,161,101,.035)}

.app-dock{
  position:fixed;right:18px;top:50%;z-index:58;display:flex;flex-direction:column;gap:2px;
  transform:translateY(-50%);padding:6px 0;border-top:1px solid rgba(200,161,101,.20);
  border-bottom:1px solid rgba(200,161,101,.20);background:rgba(4,4,3,.44);backdrop-filter:blur(12px)
}
.app-dock button{
  width:44px;height:44px;border:0;background:transparent;color:#8f8778;font:11px/1.1 Georgia,"Songti SC",serif;
  cursor:pointer;transition:color .2s ease,background .2s ease
}
.app-dock button:hover,.app-dock button:focus-visible{color:#edd9ae;background:rgba(200,161,101,.08);outline:none}
body.workspace-open .app-dock{opacity:0;pointer-events:none}

.talo-workspace{
  position:fixed;inset:0;z-index:90;display:grid;grid-template-rows:auto auto minmax(0,1fr);
  color:#eae4d3;background:#090908;opacity:0;visibility:hidden;pointer-events:none;
  transform:translateY(16px);transition:opacity .28s ease,transform .28s ease,visibility 0s .28s;
  font-family:"Cormorant Garamond","Noto Serif SC","Songti SC","STSong",Georgia,serif;
  -webkit-user-select:text;user-select:text
}
.talo-workspace::before{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.42;
  background:
    radial-gradient(circle at 17% 13%,rgba(143,168,160,.08),transparent 35%),
    linear-gradient(180deg,rgba(200,161,101,.025),transparent 32%),
    url("../assets/lovers-bg-poster.jpg") center/cover no-repeat;
  filter:grayscale(.6) brightness(.22)
}
.talo-workspace.open{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition:opacity .28s ease,transform .28s ease}
.workspace-head,.workspace-tabs,.workspace-scroll{position:relative;z-index:1}
.workspace-head{
  min-height:72px;display:grid;grid-template-columns:52px 1fr 52px;align-items:center;
  padding:calc(env(safe-area-inset-top) + 8px) 18px 8px;border-bottom:1px solid rgba(200,161,101,.14);
  background:rgba(8,8,7,.90);backdrop-filter:blur(16px)
}
.workspace-kicker{font-size:9px;letter-spacing:.38em;color:#817767}
.workspace-title{margin-top:3px;font-size:23px;font-weight:500;letter-spacing:.12em;color:#eae4d3}
.workspace-close{
  justify-self:end;width:44px;height:44px;border:0;background:transparent;color:#a69a86;font:28px/1 Georgia,serif;
  cursor:pointer
}
.workspace-close:hover,.workspace-close:focus-visible{color:#edd9ae;outline:1px solid rgba(237,217,174,.42);outline-offset:-5px}
.workspace-tabs{
  display:flex;justify-content:center;gap:2px;padding:8px 16px;border-bottom:1px solid rgba(200,161,101,.12);
  background:rgba(8,8,7,.86);overflow-x:auto;scrollbar-width:none
}
.workspace-tabs::-webkit-scrollbar{display:none}
.workspace-tab{
  flex:0 0 auto;min-width:80px;height:44px;padding:0 14px;border:0;border-bottom:1px solid transparent;
  background:transparent;color:#817a6e;font:12px/1 Georgia,"Songti SC",serif;letter-spacing:.18em;cursor:pointer
}
.workspace-tab[aria-selected="true"]{color:#edd9ae;border-color:#c8a165;background:rgba(200,161,101,.06)}
.workspace-tab:focus-visible{outline:1px solid rgba(237,217,174,.5);outline-offset:-3px}
.workspace-scroll{overflow:auto;padding:34px max(22px,calc((100vw - 1120px)/2)) calc(env(safe-area-inset-bottom) + 52px)}
.workspace-view[hidden]{display:none}
.view-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:24px;padding-bottom:14px;border-bottom:1px solid rgba(200,161,101,.18)}
.view-heading h2{font-size:clamp(24px,3vw,36px);font-weight:500;letter-spacing:.08em}
.view-heading p{max-width:560px;color:#938a7b;font-size:12.5px;line-height:1.75;letter-spacing:.06em;text-align:right}

.spread-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.spread-option{
  min-height:142px;padding:22px;text-align:left;border:1px solid rgba(200,161,101,.20);border-radius:6px;
  background:rgba(8,8,7,.66);color:#eae4d3;cursor:pointer;transition:border-color .22s ease,background .22s ease,transform .22s ease
}
.spread-option:hover,.spread-option:focus-visible{border-color:rgba(237,217,174,.55);background:rgba(200,161,101,.07);transform:translateY(-2px);outline:none}
.spread-number{display:block;color:#8fa8a0;font-size:10px;letter-spacing:.3em}
.spread-name{display:block;margin-top:16px;font-size:20px;letter-spacing:.12em}
.spread-en{display:block;margin-top:5px;color:#c8a165;font-size:9px;letter-spacing:.22em}
.spread-desc{display:block;margin-top:14px;color:#a69d8f;font-size:12px;line-height:1.7}

.library-tools{display:grid;grid-template-columns:minmax(180px,1fr) 170px auto;gap:10px;margin-bottom:22px}
.library-search,.library-select{
  min-height:44px;padding:0 13px;border:1px solid rgba(200,161,101,.23);border-radius:4px;
  color:#eae4d3;background:rgba(5,5,4,.72);font:13px Georgia,"Songti SC",serif;outline:none
}
.library-search:focus,.library-select:focus{border-color:rgba(237,217,174,.60)}
.library-favorite-toggle{display:flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;color:#b9ae9b;font-size:12px;white-space:nowrap;cursor:pointer}
.library-favorite-toggle input,.setting-toggle input{accent-color:#a98957;width:17px;height:17px}
.library-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px 10px}
.library-card{position:relative;display:block;width:100%;min-width:0;border:0;background:transparent;color:#eae4d3;text-align:left;cursor:pointer}
.library-card:focus-visible{outline:1px solid rgba(237,217,174,.52);outline-offset:4px}
.library-card-image{display:block;width:100%;aspect-ratio:5/8.6;overflow:hidden;border:1px solid rgba(200,161,101,.24);border-radius:6px;background:#1d1a15;box-shadow:0 14px 24px rgba(0,0,0,.32)}
.library-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .28s ease}
.library-card:hover img{transform:scale(1.025)}
.library-card-name{display:block;margin-top:8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;letter-spacing:.06em}
.library-card-en{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#81796c;font-size:9px;font-style:italic;letter-spacing:.04em}
.favorite-mark{position:absolute;right:-1px;top:-1px;z-index:2;width:44px;height:44px;border:0;border-radius:50%;background:radial-gradient(circle,rgba(4,4,3,.82) 0 15px,transparent 16px);color:#c6baaa;font-size:16px;cursor:pointer}
.favorite-mark.active{color:#edd9ae;background:radial-gradient(circle,rgba(71,51,25,.88) 0 15px,transparent 16px)}
.empty-state{padding:54px 20px;border-top:1px solid rgba(200,161,101,.16);color:#8f8678;text-align:center;font-size:14px;line-height:1.8}

.card-detail{
  position:fixed;inset:0;z-index:94;display:flex;justify-content:flex-end;background:rgba(0,0,0,.62);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .25s ease,visibility 0s .25s
}
.card-detail.open{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .25s ease}
.detail-sheet{
  width:min(620px,94vw);height:100%;overflow:auto;padding:calc(env(safe-area-inset-top) + 22px) 28px calc(env(safe-area-inset-bottom) + 36px);
  border-left:1px solid rgba(200,161,101,.23);background:#0b0a09;box-shadow:-28px 0 70px rgba(0,0,0,.5)
}
.detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
.detail-top span{color:#8f8778;font-size:10px;letter-spacing:.3em}
.detail-close{width:44px;height:44px;border:0;background:transparent;color:#b6aa97;font-size:26px;cursor:pointer}
.detail-grid{display:grid;grid-template-columns:190px minmax(0,1fr);gap:26px;align-items:start}
.detail-image{width:100%;aspect-ratio:5/8.6;object-fit:cover;border:1px solid rgba(237,217,174,.35);border-radius:6px}
.detail-title{font-size:30px;font-weight:500;letter-spacing:.12em}
.detail-title i{display:block;margin-top:4px;color:#8f8778;font-size:14px;font-weight:400;letter-spacing:.08em}
.detail-keywords{margin-top:17px;color:#c8a165;font-size:12px;line-height:1.7;letter-spacing:.1em}
.orientation-switch{display:inline-flex;margin-top:18px;border:1px solid rgba(200,161,101,.22);border-radius:4px;overflow:hidden}
.orientation-switch button{height:44px;padding:0 16px;border:0;background:transparent;color:#887f72;font:11px Georgia,"Songti SC",serif;cursor:pointer}
.orientation-switch button.active{background:rgba(200,161,101,.12);color:#edd9ae}
.detail-body{margin-top:20px;color:#ddd5c6;font-size:14px;line-height:1.95}
.detail-meta{margin-top:18px;padding-top:15px;border-top:1px solid rgba(200,161,101,.14);color:#9c9282;font-size:12px;line-height:1.8}
.detail-question{margin-top:18px;padding:14px 16px;border-left:1px solid #a98957;background:rgba(200,161,101,.045);color:#d6c4a4;font-size:13px;font-style:italic;line-height:1.8}
.detail-actions{display:flex;gap:8px;margin-top:18px}
.tool-button{
  display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;border:1px solid rgba(200,161,101,.28);border-radius:4px;background:transparent;
  color:#d7cebe;font:12px Georgia,"Songti SC",serif;letter-spacing:.08em;cursor:pointer
}
.tool-button:hover,.tool-button:focus-visible{border-color:rgba(237,217,174,.58);color:#edd9ae;outline:none}
.tool-button.danger{border-color:rgba(178,107,91,.36);color:#c98d7f}
.card-note{width:100%;min-height:118px;margin-top:22px;padding:13px;border:1px solid rgba(200,161,101,.20);border-radius:4px;resize:vertical;background:#080807;color:#eae4d3;font:13px/1.75 Georgia,"Songti SC",serif;outline:none}
.card-note:focus{border-color:rgba(237,217,174,.5)}
.note-status{min-height:20px;margin-top:7px;color:#8fa8a0;font-size:10px;letter-spacing:.12em}

.history-list{display:grid;gap:0}
.history-item{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:22px;padding:22px 0;border-bottom:1px solid rgba(200,161,101,.16);align-items:start}
.history-date{color:#80776a;font-size:10px;line-height:1.8;letter-spacing:.12em}
.history-name{font-size:18px;letter-spacing:.10em}
.history-cards{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.history-chip{padding:5px 8px;border:1px solid rgba(200,161,101,.16);border-radius:3px;color:#b5ab9c;font-size:10px}
.history-note{width:100%;min-height:70px;margin-top:12px;padding:10px;border:1px solid rgba(200,161,101,.16);border-radius:4px;background:rgba(0,0,0,.32);color:#ddd5c6;font:12px/1.65 Georgia,"Songti SC",serif;resize:vertical}
.history-actions{display:flex;gap:7px;flex-direction:column}

.settings-list{border-top:0}
.setting-row{display:grid;grid-template-columns:minmax(180px,1fr) minmax(260px,1.4fr);gap:30px;padding:23px 0;border-bottom:1px solid rgba(200,161,101,.16);align-items:center}
.setting-copy h3{font-size:17px;font-weight:500;letter-spacing:.1em}
.setting-copy p{margin-top:6px;color:#8f8779;font-size:11px;line-height:1.65}
.setting-control{display:flex;justify-content:flex-end;gap:8px;align-items:center;flex-wrap:wrap}
.setting-toggle{display:flex;align-items:center;gap:9px;min-height:44px;color:#c2b8a8;font-size:12px;cursor:pointer}
.legal-copy{max-width:760px;color:#b6ad9f;font-size:12.5px;line-height:1.9}
.legal-copy h3{margin:22px 0 8px;color:#eae4d3;font-size:17px;font-weight:500}
.legal-copy ul{padding-left:20px}
.legal-copy a{color:#d4b986}
.file-input{display:none}

.reading-tools{max-width:760px;margin:25px auto 0;padding:18px 0;border-top:1px solid rgba(200,161,101,.18)}
.reading-tools-title{color:#bfb4a2;font-size:11px;letter-spacing:.24em}
.reading-note{width:100%;min-height:76px;margin-top:12px;padding:11px;border:1px solid rgba(200,161,101,.20);border-radius:4px;background:rgba(8,8,7,.72);color:#eae4d3;font:12px/1.7 Georgia,"Songti SC",serif;resize:vertical;outline:none}
.reading-note:focus{border-color:rgba(237,217,174,.5)}
.reading-note:focus::placeholder,.card-note:focus::placeholder,.history-note:focus::placeholder{color:transparent}
.reading-note::placeholder,.card-note::placeholder,.history-note::placeholder{color:#7f776a;opacity:1}
.reading-tool-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:10px}

.result-image-layer{position:fixed;inset:0;z-index:135;overflow:auto;padding:calc(env(safe-area-inset-top) + 20px) 18px calc(env(safe-area-inset-bottom) + 24px);background:rgba(0,0,0,.95);backdrop-filter:blur(12px)}
.result-image-sheet{width:min(480px,100%);margin:0 auto;color:#eae4d3;text-align:center}
.result-image-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:16px;text-align:left}
.result-image-head span{display:block;color:#8f8678;font-size:9px;letter-spacing:.28em}
.result-image-head h2{margin-top:5px;font-size:23px;font-weight:500;letter-spacing:.10em}
.result-image-close{width:44px;height:44px;border:0;background:transparent;color:#c8bda9;font:32px/1 Georgia,serif;cursor:pointer}
.detail-close:focus-visible,.result-image-close:focus-visible{color:#edd9ae;outline:1px solid rgba(237,217,174,.45);outline-offset:-4px}
.result-image-preview{display:block;width:min(76vw,340px);aspect-ratio:4/5;margin:0 auto;border:1px solid rgba(200,161,101,.42);background:#090a09;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.72);-webkit-touch-callout:default;user-select:auto}
.result-image-help{margin-top:15px;color:#d2c5b1;font-size:12px;line-height:1.8;letter-spacing:.05em}
.result-image-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:9px;margin-top:16px}

.consent-layer{position:fixed;inset:0;z-index:110;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.82);backdrop-filter:blur(12px)}
.consent-card{width:min(540px,100%);max-height:min(760px,90vh);overflow:auto;padding:30px;border:1px solid rgba(200,161,101,.30);border-radius:7px;background:#0b0a09;box-shadow:0 30px 90px rgba(0,0,0,.7);color:#eae4d3}
.consent-card h2{font-size:26px;font-weight:500;letter-spacing:.12em}
.consent-card p{margin-top:14px;color:#b8ae9f;font-size:13px;line-height:1.9}
.consent-points{margin:18px 0;padding:16px 0;border-top:1px solid rgba(200,161,101,.16);border-bottom:1px solid rgba(200,161,101,.16);color:#d5ccbc;font-size:12px;line-height:2}
.consent-actions{display:flex;gap:10px;margin-top:20px}
.consent-actions .tool-button{flex:1}
.toast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom) + 26px);z-index:120;max-width:min(90vw,480px);padding:11px 16px;transform:translate(-50%,16px);border:1px solid rgba(200,161,101,.32);border-radius:4px;background:rgba(8,8,7,.94);color:#eae4d3;font-size:12px;line-height:1.6;opacity:0;visibility:hidden;transition:.22s ease}
.toast.show{opacity:1;visibility:visible;transform:translate(-50%,0)}

@media (hover:none){
  .spread-option:active,.tool-button:active,.workspace-tab:active{background:rgba(200,161,101,.10)}
}

@media (max-width:900px){
  .library-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .app-dock{display:none}
}
@media (max-width:620px){
  .top-actions{gap:8px}
  #btnAutoDeal{font-size:10.5px;letter-spacing:.15em}
  #btnReset{font-size:10.5px;letter-spacing:.15em}
  #modeLabel{max-width:38vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.22em;text-indent:0}
  .workspace-head{min-height:62px;grid-template-columns:42px 1fr 42px;padding-left:10px;padding-right:10px}
  .workspace-title{font-size:19px}
  .workspace-tabs{justify-content:flex-start;padding-left:8px;padding-right:8px}
  .workspace-tab{min-width:72px;padding:0 10px}
  .workspace-scroll{padding:24px 14px calc(env(safe-area-inset-bottom) + 38px)}
  .view-heading{display:block;margin-bottom:18px}
  .view-heading p{margin-top:8px;text-align:left}
  .spread-grid{grid-template-columns:1fr;gap:9px}
  .spread-option{min-height:126px;padding:18px}
  .library-tools{grid-template-columns:minmax(0,1fr) 124px}
  .library-favorite-toggle{grid-column:1/-1;padding:3px 0 7px}
  .library-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px 8px}
  .library-card-name{font-size:12px}
  .card-detail{align-items:flex-end}
  .detail-sheet{width:100%;height:min(88dvh,760px);border-left:0;border-top:1px solid rgba(200,161,101,.24);border-radius:7px 7px 0 0;padding:20px 16px calc(env(safe-area-inset-bottom) + 26px)}
  .detail-grid{grid-template-columns:116px minmax(0,1fr);gap:16px}
  .detail-title{font-size:24px}
  .detail-body,.detail-meta,.detail-question,.card-note,.note-status{grid-column:1/-1}
  .detail-actions{grid-column:1/-1;flex-wrap:wrap}
  .history-item{grid-template-columns:1fr;gap:8px;padding:18px 0}
  .history-actions{flex-direction:row}
  .setting-row{grid-template-columns:1fr;gap:12px;padding:20px 0}
  .setting-control{justify-content:flex-start}
  .consent-card{padding:24px 20px}
  .consent-actions{flex-direction:column}
  .result-image-layer{padding-left:14px;padding-right:14px}
  .result-image-preview{width:min(82vw,340px)}
  .result-image-actions .tool-button{min-width:118px}
  #panel .symbols,#panel .reflection{font-size:11.5px}
}
@media (max-width:380px){
  .library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid{grid-template-columns:98px minmax(0,1fr)}
}
@media (prefers-reduced-motion:reduce){
  .talo-workspace,.card-detail,.library-card-image img,.spread-option,.toast{transition-duration:.01s!important}
}
