.dj-shell{position:relative;z-index:10;margin:72px auto 30px;padding:0 24px 56px;max-width:1440px;color:#17143b;font-family:"Open Sans",sans-serif}.dj-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:28px}.dj-heading h1,.dj-card h2,.dj-card h3{font-family:"Copse",serif;font-weight:400}.dj-heading h1{margin:8px 0 10px;font-size:clamp(2rem,4vw,3rem)}.dj-heading p{margin:0;color:#915963;font-size:1.05rem}.dj-label{display:block;color:#17143b;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.dj-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(340px,1fr);gap:24px;align-items:start}.dj-new-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.dj-card{border:1px solid #e5d4ce;border-radius:9px;background:rgba(255,255,255,.92);padding:30px;box-shadow:0 12px 28px rgba(42,25,45,.04)}.dj-card h2{margin:10px 0 20px;font-size:1.7rem}.dj-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 20px;border:1px solid #17143b;border-radius:7px;background:#17143b;color:#fff!important;font-weight:700;text-decoration:none;cursor:pointer}.dj-button:hover{opacity:.88}.dj-button--light{border-color:#e6d4cf;background:#fff;color:#32122e!important}.dj-button--outline{width:100%;border-color:#dfc9c3;background:#fff;color:#32122e!important}.dj-button--full{width:100%}.dj-entry{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:18px;align-items:center;margin-top:14px;padding:18px;border:1px solid #eadbd6;border-radius:10px;background:#fff;color:#17143b;text-decoration:none}.dj-entry:hover{border-color:#d97883;transform:translateY(-1px)}.dj-entry time{display:flex;flex-direction:column;align-items:center;border-right:1px solid #eadbd6}.dj-entry time strong{font-family:"Copse",serif;font-size:1.6rem}.dj-entry time span,.dj-entry__copy small{color:#955d68;font-size:.72rem;letter-spacing:.05em;text-transform:uppercase}.dj-entry__copy{display:grid;gap:5px}.dj-entry__copy>strong{font-family:"Copse",serif;font-size:1.2rem}.dj-entry__copy>span{color:#6d5964}.dj-entry__arrow{font-weight:700}.dj-empty{padding:30px 0}.dj-patterns progress{width:100%;height:8px;margin:12px 0;accent-color:#d97883}.dj-progress-copy{display:flex;justify-content:space-between;font-size:.8rem;letter-spacing:.05em;text-transform:uppercase}.dj-patterns hr{margin:22px 0;border:0;border-top:1px solid #eadbd6}.dj-pattern-group{margin:24px 0}.dj-pattern-group h3{margin-bottom:9px;font-size:1.25rem}.dj-pattern-group div{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px solid #f2e7e3}.dj-pattern-group em{color:#8b6d75;font-size:.9rem}.dj-caveat{margin:30px 0;color:#955d68;font-size:.9rem}.dj-search{display:flex;gap:10px;margin:22px 0}.dj-search input,.dj-free-form input,.dj-free-form textarea{width:100%;border:1px solid #d9cac6;border-radius:8px;background:#fff;padding:13px 15px}.dj-search input:focus,.dj-free-form input:focus,.dj-free-form textarea:focus{outline:3px solid rgba(217,120,131,.18);border-color:#b95d6c}.dj-keywords{display:flex;flex-wrap:wrap;gap:9px}.dj-keywords a{padding:8px 13px;border-radius:999px;background:#fff0ec;color:#6e3442;text-decoration:none}.dj-free-form{display:grid;gap:11px}.dj-free-form label{margin-top:8px;font-weight:700}.dj-free-form label span{font-weight:400;color:#806e75}.dj-error{color:#ad263e}.dj-success{padding:13px 16px;border:1px solid #90c8a4;border-radius:8px;background:#edfff3}.dj-entry-detail{display:grid;gap:28px;max-width:900px}.dj-entry-detail section+section{padding-top:28px;border-top:1px solid #eadbd6}.dj-prose{margin-top:12px;white-space:pre-line;font-size:1.05rem;line-height:1.8}.dream-catalog__notice{margin:16px 0 0;padding:12px 14px;border-radius:10px;background:#fff0ed;color:#6e3442}.dream-catalog__button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
.dream-catalog{width:100%;color:#111536;font-family:"Open Sans",sans-serif}.dream-catalog__card{overflow:hidden;border:1px solid #eadbd6;border-radius:24px;background:#fffaf7;box-shadow:0 18px 44px rgba(17,21,54,.09)}.dream-catalog__top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 26px 16px;border-bottom:1px solid #f0dfd9}.dream-catalog__eyebrow{color:#a04858;font-size:.75rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase}.dream-catalog__step{color:#6f7080;font-size:.875rem;white-space:nowrap}.dream-catalog__progress{height:6px;background:#f1e4df}.dream-catalog__progress>span{display:block;height:100%;border-radius:999px;background:#d97883;transition:width .25s ease}.dream-catalog__body{padding:30px 26px}.dream-catalog h2,.dream-catalog legend{margin:0;color:#111536;font-family:"Copse",serif;font-size:clamp(1.55rem,3vw,2rem);line-height:1.25;font-weight:400}.dream-catalog fieldset{margin:0;padding:0;border:0}.dream-catalog__options{display:grid;gap:11px;margin-top:24px}.dream-catalog__option{display:flex;align-items:flex-start;gap:12px;padding:15px 16px;border:1px solid #dfd7d4;border-radius:14px;background:#fff;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.dream-catalog__option:hover{border-color:#cf7e89;transform:translateY(-1px)}.dream-catalog__option:has(input:checked){border-color:#a94d5d;background:#fff0ed;box-shadow:0 0 0 2px rgba(169,77,93,.1)}.dream-catalog__option input{width:18px;height:18px;margin-top:2px;accent-color:#a94d5d}.dream-catalog__option--muted{color:#676776;background:#faf8f7}.dream-catalog__label{display:block;margin-bottom:10px;font-weight:700}.dream-catalog textarea{width:100%;min-height:132px;padding:14px 16px;border:1px solid #d8cfcc;border-radius:14px;background:#fff;resize:vertical}.dream-catalog textarea:focus{outline:3px solid rgba(169,77,93,.18);border-color:#a94d5d}.dream-catalog__help{margin:9px 0 0;color:#6f7080;font-size:.9rem}.dream-catalog__error{margin:14px 0 0;color:#a12d42;font-weight:600}.dream-catalog__actions{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px}.dream-catalog__button{min-height:44px;padding:11px 20px;border:0;border-radius:999px;font-weight:700;cursor:pointer}.dream-catalog__button[disabled]{opacity:.55;cursor:wait}.dream-catalog__button--primary{color:#fff!important;background:#111536}.dream-catalog__button--primary:hover{background:#272c5b}.dream-catalog__button--secondary{color:#111536;background:#efe7e4}.dream-catalog__button--link{margin-right:auto;padding-left:0;color:#794652;background:transparent}.dream-catalog__result{white-space:pre-line;font-size:1.05rem;line-height:1.75}.dream-catalog__result-title{margin-bottom:18px!important}
.dj-card-topline{display:flex;align-items:center;justify-content:space-between;gap:16px}.dj-card-topline>a{color:#8f4352;font-weight:700}.dj-inline-questionnaire{margin-top:24px}.dj-inline-questionnaire .dream-catalog__card{box-shadow:none}.dj-inline-questionnaire .dream-catalog__body{padding-left:20px;padding-right:20px}
.dream-catalog .dream-catalog__button--primary{color:#fff!important;background:#111536}.dream-catalog .dream-catalog__button--primary:hover{background:#272c5b}.dream-catalog .dream-catalog__button--secondary{color:#111536;background:#efe7e4}.dream-catalog .dream-catalog__button--link{margin-right:auto;padding-left:0;color:#794652;background:transparent}
.dj-shell .dj-button{border-color:#17143b;background:#17143b;color:#fff!important}.dj-shell .dj-button:hover{opacity:.88}.dj-shell .dj-button--light{border-color:#e6d4cf;background:#fff;color:#32122e!important}.dj-shell .dj-button--outline{border-color:#dfc9c3;background:#fff;color:#32122e!important}
.dj-result-page{max-width:1340px}.dj-result-layout{display:grid;gap:22px}.dj-result-header{position:relative;padding:0 2px}.dj-result-back{display:inline-flex;margin-bottom:18px;color:#5f3348;font-size:.9rem;font-weight:700;text-decoration:none}.dj-result-back:hover{text-decoration:underline}.dj-result-header h1{max-width:850px;margin:8px 0 10px;font-family:"Copse",serif;font-size:clamp(2.15rem,4vw,3.35rem);font-weight:400;line-height:1.12}.dj-result-header>p{max-width:760px;margin:0;color:#8d5965;font-size:1rem}.dj-result-meta{position:absolute;top:0;right:2px;display:flex;align-items:center;gap:12px;color:#77636d;font-size:.85rem}.dj-saved-status{display:inline-flex;align-items:center;gap:7px;border-radius:999px;background:#e7f5e9;padding:7px 11px;color:#28673c;font-size:.76rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.dj-saved-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#45a565}.dj-night-context{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #e4cfc9;border-radius:16px;background:linear-gradient(135deg,#fff8f5,#fff);padding:20px 24px;box-shadow:0 10px 25px rgba(63,34,49,.04)}.dj-night-context>div:first-child{display:grid;gap:7px}.dj-night-context>div:first-child strong{font-family:"Copse",serif;font-size:1.45rem;font-weight:400}.dj-night-context__facts{display:flex;align-items:stretch;gap:10px}.dj-night-context__facts>span{display:grid;min-width:150px;gap:5px;border-left:1px solid #eadbd6;padding:2px 18px;color:#312039;font-weight:600}.dj-night-context__facts small{color:#9b6670;font-size:.69rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.dj-result-grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(320px,.85fr);gap:22px;align-items:start}.dj-result-story{display:grid;gap:22px}.dj-result-panel{border:1px solid #e4d3ce;border-radius:16px;background:rgba(255,255,255,.94);padding:28px;box-shadow:0 12px 30px rgba(41,24,44,.045)}.dj-result-panel h2{margin:8px 0 18px;font-family:"Copse",serif;font-size:1.75rem;font-weight:400}.dj-result-prose{margin:0;white-space:pre-line;color:#382a38;font-size:1.05rem;line-height:1.83}.dj-result-muted{margin:0;color:#806974;line-height:1.7}.dj-result-interpretation{border-top:4px solid #d97883;background:linear-gradient(180deg,#fff,#fffaf8)}.dj-result-interpretation>.dj-label{color:#9f4858}.dj-answer-details{margin-top:22px;border-top:1px solid #ecdfdb;padding-top:16px}.dj-answer-details summary{color:#713c50;font-weight:700;cursor:pointer}.dj-answer-details dl{display:grid;gap:0;margin:14px 0 0}.dj-answer-details dl>div{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(150px,.75fr);gap:16px;padding:12px 0;border-top:1px solid #f0e5e1}.dj-answer-details dt{color:#735e68}.dj-answer-details dd{margin:0;color:#291a32;font-weight:700}.dj-entry-summary{margin-top:26px;border-top:1px solid #eadbd6;padding-top:20px}.dj-result-tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.dj-result-tags span{border:1px solid #ead5cf;border-radius:999px;background:#fff0ec;padding:7px 12px;color:#71394a;font-size:.86rem;font-weight:600}.dj-result-overview{position:sticky;top:24px}.dj-overview-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dj-overview-heading h2{margin:0;font-size:1.45rem}.dj-overview-heading>strong{color:#9f5361;font-size:.85rem}.dj-result-overview progress{width:100%;height:9px;margin:18px 0 12px;border:0;border-radius:999px;accent-color:#d97883}.dj-result-overview>p{margin:0;color:#806974;font-size:.93rem;line-height:1.55}.dj-completion-list{display:grid;gap:0;margin:20px 0 0;padding:0;list-style:none}.dj-completion-list li{display:grid;grid-template-columns:27px 1fr;gap:10px;border-top:1px solid #eee1dd;padding:14px 0;color:#a07f88}.dj-completion-list li>span{display:grid;width:24px;height:24px;place-items:center;border:1px solid #dbc9c4;border-radius:50%;font-size:.78rem}.dj-completion-list li>div{display:grid;gap:3px}.dj-completion-list strong{color:#39263b;font-size:.9rem}.dj-completion-list small{font-size:.78rem}.dj-completion-list li.is-complete>span{border-color:#83bd93;background:#e7f5e9;color:#28673c}.dj-preservation{display:grid;gap:11px;margin:8px -28px -28px;border-top:1px solid #eadbd6;background:#fffaf8;padding:22px 28px 26px}.dj-preservation>.dj-saved-status{justify-self:start;margin-bottom:2px}.dj-preservation .dj-button{width:100%}
@media(max-width:900px){.dj-grid,.dj-new-grid{grid-template-columns:1fr}.dj-patterns{order:2}.dj-heading{margin-top:35px}.dj-entry{grid-template-columns:50px minmax(0,1fr)}.dj-entry__arrow{grid-column:2}}@media(max-width:640px){.dream-catalog__top,.dream-catalog__body{padding-left:18px;padding-right:18px}.dream-catalog__actions{align-items:stretch}.dream-catalog__button{width:100%}.dream-catalog__button--link{order:3}.dj-shell{padding:0 16px 40px;margin-top:36px}.dj-heading{flex-direction:column}.dj-card{padding:20px}.dj-search{flex-direction:column}.dj-entry{padding:14px;gap:12px}.dj-heading .dj-button{width:100%}}
@media(max-width:1000px){.dj-result-grid{grid-template-columns:1fr}.dj-result-overview{position:static}.dj-night-context{align-items:flex-start;flex-direction:column}.dj-night-context__facts{width:100%}.dj-night-context__facts>span:first-child{border-left:0;padding-left:0}}
@media(max-width:700px){.dj-result-page{margin-top:38px}.dj-result-meta{position:static;margin-bottom:12px;flex-wrap:wrap}.dj-result-header h1{font-size:2.15rem}.dj-night-context{padding:18px}.dj-night-context__facts{display:grid;grid-template-columns:1fr;width:100%}.dj-night-context__facts>span{min-width:0;border-top:1px solid #eadbd6;border-left:0;padding:10px 0 0}.dj-result-panel{padding:21px}.dj-answer-details dl>div{grid-template-columns:1fr;gap:4px}.dj-preservation{margin:8px -21px -21px;padding:20px 21px}}
.dj-message{padding:13px 16px;border:1px solid #e2a3ab;border-radius:8px;background:#fff0f1}.dj-journal-strip{border:1px solid #e4cfc9;border-radius:12px;background:rgba(255,255,255,.86);padding:22px 24px}.dj-journal-strip__heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.dj-journal-strip__heading p{margin:7px 0 0;color:#8d5965;font-size:.9rem}.dj-journal-strip__heading>div:last-child{display:flex;align-items:center;gap:18px;color:#8d5965;font-size:.8rem}.dj-journal-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:18px}.dj-journal-fields>button{display:flex;align-items:center;gap:12px;min-height:74px;border:1px dashed #dbc4bd;border-radius:9px;background:#fffdfc;padding:13px;text-align:left;cursor:pointer}.dj-journal-fields>button:hover{border-color:#ba6875;background:#fff7f4}.dj-journal-fields>button>span{display:grid;flex:0 0 37px;height:37px;place-items:center;border-radius:50%;background:#f6ece9;color:#806570;font-size:1.15rem}.dj-journal-fields button div{display:grid;gap:4px;min-width:0}.dj-journal-fields small{color:#8d5965}.dj-journal-fields strong{overflow:hidden;color:#a04c5c;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}.dj-details-dialog{width:min(680px,calc(100% - 32px));border:0;border-radius:16px;padding:0;box-shadow:0 22px 70px rgba(26,15,34,.25)}.dj-details-dialog::backdrop{background:rgba(25,15,32,.5)}.dj-details-dialog form{padding:26px}.dj-dialog-heading{display:flex;align-items:flex-start;justify-content:space-between}.dj-dialog-heading h2{margin:7px 0 20px;font-family:"Copse",serif;font-size:1.75rem;font-weight:400}.dj-dialog-close{border:0;background:none;color:#6e5964;font-size:2rem;cursor:pointer}.dj-detail-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.dj-detail-form-grid label,.dj-description-form label{display:grid;gap:7px;color:#25162e;font-size:.88rem;font-weight:700}.dj-detail-form-grid input,.dj-detail-form-grid select,.dj-description-form textarea{width:100%;border:1px solid #cebcb7;border-radius:8px;background:#fff;padding:12px 13px;color:#271831}.dj-detail-form-grid input:focus,.dj-detail-form-grid select:focus,.dj-description-form textarea:focus{outline:3px solid rgba(217,120,131,.18);border-color:#b95d6c}.dj-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dj-description-form{display:grid;gap:10px;margin-top:18px}.dj-description-form label span{color:#a17882;font-weight:400}.dj-description-form textarea{min-height:145px;resize:vertical;line-height:1.6}.dj-description-form>div{display:flex;align-items:center;justify-content:space-between;color:#895965}.dj-ai-offer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:22px;border:1px solid #efc77e;border-radius:9px;background:#fffaf1;padding:18px}.dj-ai-offer>div{display:grid;gap:5px}.dj-ai-offer strong{color:#29162e}.dj-ai-offer span{color:#8d5965;font-size:.88rem;line-height:1.5}.dj-button--orange{border-color:#ffa20b!important;background:#ffa20b!important;white-space:nowrap}.dj-ai-status{border-radius:999px;background:#e7f5e9;padding:9px 13px;color:#28673c!important;font-weight:700}.dj-add-details{margin-top:12px}.dj-completion-list li{grid-template-columns:27px 1fr 12px}.dj-completion-list li:after{content:'→';align-self:center;color:#3f2138}.dj-preservation{margin-top:18px}
@media(max-width:900px){.dj-journal-fields{grid-template-columns:1fr 1fr}.dj-ai-offer{align-items:flex-start;flex-direction:column}}
@media(max-width:600px){.dj-journal-strip{padding:18px}.dj-journal-strip__heading{align-items:flex-start;flex-direction:column}.dj-journal-strip__heading>div:last-child{width:100%;justify-content:space-between}.dj-journal-fields,.dj-detail-form-grid{grid-template-columns:1fr}.dj-ai-offer form,.dj-ai-offer .dj-button{width:100%}}
.dj-details-dialog{position:relative;width:min(760px,calc(100% - 18px));max-width:none;height:min(94vh,1000px);max-height:94vh;overflow-y:auto;background:#fffdfc;color:#1b1236}.dj-details-dialog>.dj-dialog-close{position:absolute;z-index:2;top:13px;right:16px;display:grid;width:46px;height:46px;place-items:center;border-radius:50%;background:#fff8f4;font-size:1.6rem}.dj-detail-topline{display:flex;align-items:center;justify-content:space-between;padding:34px 66px 12px 32px}.dj-detail-topline>span:last-child{color:#8d5965;font-size:.8rem}.dj-detail-progress{height:8px;margin:0 32px 26px;border-radius:99px;background:#f2e4c7;overflow:hidden}.dj-detail-progress span{display:block;height:100%;border-radius:inherit;background:#ffa20b;transition:width .2s}.dj-detail-question{padding:0 32px 22px}.dj-detail-question h2{margin:0 0 8px;font-family:"Copse",serif;font-size:1.48rem;font-weight:400}.dj-detail-question>p{margin:0 0 18px}.dj-detail-options{display:grid;gap:8px}.dj-detail-option{display:flex;align-items:center;gap:13px;min-height:50px;border:1px solid #ead8d2;border-radius:7px;background:#fff;padding:11px 14px;cursor:pointer}.dj-detail-option:hover,.dj-detail-option.is-selected{border-color:#d57c87;background:#fff8f6}.dj-detail-option input{appearance:none;display:grid;width:19px;height:19px;place-items:center;margin:0;border:1px solid #d9c0bb;border-radius:50%;background:#fff}.dj-detail-option input:checked{border:5px solid #b85c6b}.dj-detail-option input[type=checkbox]{border-radius:4px}.dj-detail-option span{font-size:.95rem}.dj-detail-extra{display:flex;align-items:end;gap:10px;margin:0 0 14px;padding:14px;border:1px solid #ead8d2;border-radius:7px}.dj-detail-extra label{display:grid;flex:1;gap:6px;font-size:.8rem;font-weight:700}.dj-detail-extra input,.dj-sleep-times input{border:1px solid #cebcb7;border-radius:7px;padding:10px}.dj-sleep-times{margin:0 0 14px;border:1px solid #ead8d2;border-radius:7px;padding:14px}.dj-sleep-times summary{font-weight:700;cursor:pointer}.dj-sleep-times>div{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}.dj-sleep-times label{display:grid;gap:6px;font-size:.8rem}.dj-sleep-times p{color:#8d5965;font-size:.8rem}.dj-detail-actions{display:flex;gap:12px;margin-top:16px}.dj-detail-actions .dj-button{min-height:43px}.dj-detail-summary{border-top:1px solid #eadbd6;padding:24px 32px}.dj-detail-summary__heading{display:flex;justify-content:space-between;margin-bottom:14px}.dj-detail-summary__heading>span:last-child{color:#8d5965;font-size:.8rem}.dj-answer-group h3{margin:18px 0 7px;font-size:.86rem}.dj-answer-row{display:grid;width:100%;grid-template-columns:minmax(130px,1fr) minmax(100px,1.2fr) 22px;gap:12px;align-items:center;border:0;border-bottom:1px solid #eadbd6;background:transparent;padding:11px 0;color:#8d5965;text-align:left;cursor:pointer}.dj-answer-row strong{color:#a04c5c;font-size:.85rem;font-weight:500}.dj-answer-row i{color:#a99099;font-style:normal}.dj-detail-save-status{margin:0;padding:0 32px 28px;color:#8d5965;font-size:.8rem}
@media(max-width:600px){.dj-detail-topline{padding:26px 58px 10px 18px}.dj-detail-progress{margin:0 18px 22px}.dj-detail-question,.dj-detail-summary{padding-left:18px;padding-right:18px}.dj-detail-save-status{padding-left:18px;padding-right:18px}.dj-detail-actions{flex-wrap:wrap}.dj-sleep-times>div{grid-template-columns:1fr}.dj-answer-row{grid-template-columns:1fr 1fr 18px}}

/* Prototype alignment: paevik.html, uus.html and tulemus.html */
.dj-shell,
.dream-catalog,
.dj-details-dialog {
    --dj-night: #30163b;
    --dj-ink: #251929;
    --dj-muted: #786777;
    --dj-line: #eadbd7;
    --dj-soft: #fff8f3;
    --dj-paper: #fff;
    --dj-accent: #f7a110;
    --dj-accent-dark: #df8c00;
    --dj-focus: #713b80;
    --dj-danger: #a54555;
    --dj-warm-line: #f0d6a8;
    --dj-warm-surface: #fffaf2;
    color: var(--dj-ink);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.dj-shell {
    max-width: 1376px;
    margin: 16px auto 30px;
    padding: 0 24px 48px;
}

.dj-heading { margin-bottom: 24px; }
.dj-heading h1 {
    margin: 8px 0 10px;
    color: var(--dj-night);
    font-size: clamp(1.75rem, 3vw, 1.875rem);
    line-height: 1.2;
}
.dj-heading p { color: var(--dj-muted); font-size: 1rem; line-height: 1.55; }
.dj-label { color: var(--dj-night); font-size: .75rem; letter-spacing: .08em; }

.dj-grid {
    grid-template-columns: minmax(0, 1fr) min(438.4px, calc((100% - 24px) * .4));
    gap: 24px;
}
.dj-new-grid { gap: 20px; }
.dj-card,
.dj-result-panel,
.dj-journal-strip {
    border: 1px solid var(--dj-line);
    border-radius: 8px;
    background: var(--dj-paper);
    box-shadow: none;
}
.dj-card { padding: 24px; }
.dj-card h2 { margin: 8px 0 18px; color: var(--dj-night); font-size: 1.375rem; }

.dj-shell .dj-button,
.dream-catalog__button {
    min-height: 42px;
    padding: 9px 18px;
    border-radius: 6px;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}
.dj-shell .dj-button,
.dj-shell .dj-button--orange,
.dream-catalog .dream-catalog__button--primary {
    border-color: var(--dj-accent);
    background: var(--dj-accent);
    color: #fff !important;
}
.dj-shell .dj-button--orange {
    border-color: var(--dj-accent) !important;
    background: var(--dj-accent) !important;
}
.dj-shell .dj-button:hover,
.dj-shell .dj-button--orange:hover,
.dream-catalog .dream-catalog__button--primary:hover {
    border-color: var(--dj-accent-dark);
    background: var(--dj-accent-dark);
    opacity: 1;
}
.dj-shell .dj-button--orange:hover {
    border-color: var(--dj-accent-dark) !important;
    background: var(--dj-accent-dark) !important;
}
.dj-shell .dj-button--light,
.dj-shell .dj-button--outline,
.dream-catalog .dream-catalog__button--secondary {
    border-color: var(--dj-line);
    background: #fff;
    color: var(--dj-night) !important;
}
.dj-shell .dj-button--light:hover,
.dj-shell .dj-button--outline:hover,
.dream-catalog .dream-catalog__button--secondary:hover { border-color: #d7bdb6; background: var(--dj-soft); }

.dj-entry {
    grid-template-columns: 54px minmax(0, 1fr) auto;
    gap: 16px;
    margin-top: 12px;
    padding: 16px;
    border-color: var(--dj-line);
    border-radius: 6px;
    color: var(--dj-night);
    transition: border-color .15s ease, background-color .15s ease;
}
.dj-entry:hover { border-color: var(--dj-warm-line); background: var(--dj-warm-surface); transform: none; }
.dj-entry time { border-color: var(--dj-line); }
.dj-entry time strong { font-size: 1.375rem; }
.dj-entry time span,
.dj-entry__copy small { color: var(--dj-muted); }
.dj-entry__copy > strong { font-size: 1.125rem; }
.dj-entry__copy > span { color: var(--dj-muted); font-size: .925rem; line-height: 1.5; }
.dj-entry__arrow { color: var(--dj-night); font-size: .8rem; }

.dj-patterns progress,
.dj-result-overview progress { accent-color: var(--dj-accent); }
.dj-progress-copy,
.dj-patterns p,
.dj-pattern-group em,
.dj-caveat { color: var(--dj-muted); }
.dj-patterns hr,
.dj-pattern-group div { border-color: var(--dj-line); }
.dj-pattern-group { margin: 22px 0; }
.dj-pattern-group h3 { color: var(--dj-night); font-size: 1.125rem; }

.dj-search { margin: 20px 0; }
.dj-search input,
.dj-free-form input,
.dj-free-form textarea,
.dj-description-form textarea,
.dj-detail-extra input,
.dj-sleep-times input {
    border-color: #d8c8c3;
    border-radius: 6px;
    color: var(--dj-ink);
    font: inherit;
}
.dj-search input:focus,
.dj-free-form input:focus,
.dj-free-form textarea:focus,
.dj-description-form textarea:focus,
.dj-detail-extra input:focus,
.dj-sleep-times input:focus {
    border-color: var(--dj-focus);
    outline: 3px solid rgba(113, 59, 128, .14);
}
.dj-keywords { gap: 8px; }
.dj-keywords a { padding: 7px 12px; background: #fff0eb; color: #8a3847; font-size: .9rem; }
.dj-card-topline > a { color: var(--dj-focus); }

/* Keyword questionnaire follows the same compact prototype controls. */
.dream-catalog { color: var(--dj-ink); }
.dream-catalog__card {
    border-color: var(--dj-line);
    border-radius: 8px;
    background: var(--dj-paper);
    box-shadow: none;
}
.dream-catalog__top { padding: 18px 24px 14px; border-color: var(--dj-line); }
.dream-catalog__eyebrow { color: var(--dj-danger); }
.dream-catalog__step,
.dream-catalog__help { color: var(--dj-muted); }
.dream-catalog__progress { background: #f3e6ca; }
.dream-catalog__progress > span { background: var(--dj-accent); }
.dream-catalog__body { padding: 24px; }
.dream-catalog h2,
.dream-catalog legend {
    color: var(--dj-night);
    font-family: "Copse", Georgia, serif;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.3;
}
.dream-catalog__options { gap: 10px; margin-top: 22px; }
.dream-catalog__option {
    padding: 13px 14px;
    border-color: #f2e4e0;
    border-radius: 6px;
    transition: border-color .15s ease, background-color .15s ease;
}
.dream-catalog__option:hover { border-color: #e6d2cc; background: #fdf8f5; transform: none; }
.dream-catalog__option:has(input:checked) { border-color: var(--dj-night); background: #faeeec; box-shadow: inset 0 0 0 1px var(--dj-night); }
.dream-catalog__option input { accent-color: var(--dj-night); }
.dream-catalog textarea { border-color: #d8c8c3; border-radius: 6px; }
.dream-catalog textarea:focus { border-color: var(--dj-focus); outline-color: rgba(113, 59, 128, .14); }

/* Keep the word summary and its questionnaire as visibly separate prototype cards. */
.word-dream-page { max-width: 1328px; }
.word-dream-stack { gap: 24px !important; align-items: stretch !important; min-width: 0; }
.word-dream-stack > * { flex: 0 0 auto; }
.word-dream-questionnaire { display: block; margin: 0; }
.word-dream-questionnaire .dream-catalog__card { width: 100%; }
.word-dream-stack.has-questionnaire { gap: 0 !important; }
.word-dream-stack.has-questionnaire .word-summary-card {
    border-bottom: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    padding-bottom: 0;
}
.word-dream-stack.has-questionnaire .word-summary-personal-link { display: none; }
.word-dream-stack.has-questionnaire .word-dream-questionnaire .dream-catalog__card {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
.word-dream-questionnaire .dream-catalog__top { padding: 22px 24px 16px; }
.word-dream-questionnaire .dream-catalog__body { padding: 24px; }
.word-dream-questionnaire .dream-catalog legend,
.word-dream-questionnaire .dream-catalog h2 {
    color: var(--dj-night);
    font-family: "Copse", Georgia, serif;
    font-size: 1.375rem;
    font-weight: 400;
    line-height: 1.3;
}
.word-dream-questionnaire .dream-catalog__options { margin-top: 20px; }
.word-dream-questionnaire .dream-catalog__option { min-height: 52px; padding: 12px 14px; }
.word-dream-questionnaire .dream-catalog__actions { margin-top: 24px; }

/* Result page proportions and cards mirror tulemus.html. */
.dj-result-page { max-width: 1376px; }
.dj-result-layout { gap: 24px; }
.dj-result-header h1 { margin: 8px 0; color: var(--dj-night); font-size: clamp(1.875rem, 3vw, 2.4rem); }
.dj-result-header > p,
.dj-result-meta,
.dj-result-muted { color: var(--dj-muted); }
.dj-result-back { color: var(--dj-focus); }
.dj-result-grid {
    grid-template-columns: minmax(0, 1fr) clamp(300px, calc((100% - 24px) / 3), 365.333px);
    gap: 24px;
}
.dj-result-story { gap: 24px; }
.dj-result-panel { padding: 24px; }
.dj-result-panel h2 { color: var(--dj-night); font-size: 1.375rem; }
.dj-result-prose { color: var(--dj-ink); font-size: 1rem; line-height: 1.7; }
.dj-result-interpretation { border-top: 1px solid var(--dj-line); background: var(--dj-paper); }
.dj-result-interpretation > .dj-label { color: var(--dj-danger); }
.dj-answer-details,
.dj-answer-details dl > div,
.dj-entry-summary { border-color: var(--dj-line); }
.dj-answer-details summary { color: var(--dj-focus); }
.dj-result-tags span { border-color: var(--dj-warm-line); background: var(--dj-warm-surface); color: var(--dj-warm-ink, #8d5600); }
.dj-result-overview { top: 16px; }
.dj-overview-heading h2 { font-size: 1.375rem; }
.dj-overview-heading > strong,
.dj-result-overview > p { color: var(--dj-muted); }
.dj-result-overview progress {
    appearance: none;
    display: block;
    height: 8px;
    overflow: hidden;
    border: 0;
    border-radius: 6px;
    background: #f4e5c7;
    accent-color: var(--dj-accent);
}
.dj-result-overview progress::-webkit-progress-bar { background: #f4e5c7; }
.dj-result-overview progress::-webkit-progress-value { border-radius: 6px; background: var(--dj-accent); }
.dj-result-overview progress::-moz-progress-bar { border-radius: 6px; background: var(--dj-accent); }
.dj-completion-list li { border-color: var(--dj-line); color: var(--dj-muted); }
.dj-completion-list strong { color: var(--dj-night); }
.dj-preservation { margin: 8px -24px -24px; border-color: var(--dj-line); background: var(--dj-soft); padding: 22px 24px 24px; }
.dj-completion-list { display: block; margin: 16px 0; }
.dj-completion-list li {
    display: block;
    padding: 0;
    border: 0;
}
.dj-completion-list li::after { content: none; }
.dj-completion-list button {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding: 16px 0;
    border: 0;
    border-bottom: 1px solid var(--dj-line);
    background: transparent;
    color: var(--dj-night);
    font: inherit;
    text-align: left;
    cursor: pointer;
}
.dj-completion-list button > span:nth-child(2) { flex: 1; min-width: 0; }
.dj-completion-list button > span:last-child { color: var(--dj-night); }
.dj-completion-list button:hover strong,
.dj-completion-list button:focus-visible strong { text-decoration: underline; text-underline-offset: 3px; }
.dj-completion-list button:focus-visible { outline: 2px solid var(--dj-focus); outline-offset: 3px; }
.dj-completion-list strong { display: block; font-size: 1rem; font-weight: 600; line-height: 1.4; }
.dj-completion-list small { display: block; margin-top: 4px; color: var(--dj-muted); font-size: .875rem; line-height: 1.4; }
.dj-completion-mark {
    display: grid;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: #ffebac;
    color: #805600;
    font-size: .875rem;
}
.dj-completion-list .is-complete .dj-completion-mark { background: #d9eed7; color: #28613b; }
.dj-completion-note { margin: 0 0 24px; color: var(--dj-muted); font-size: .875rem; line-height: 1.55; }
.dj-preservation { gap: 12px; margin-top: 0; }
.dj-preservation h2 { margin: 0; color: var(--dj-night); font-family: "Copse", Georgia, serif; font-size: 1.375rem; font-weight: 400; }
.dj-preservation p { margin: 0 0 4px; color: var(--dj-muted); line-height: 1.6; }
.dj-pending-status{display:inline-flex;align-items:center;gap:4px;color:#9a6200}.dj-pending-status:before{content:"";width:7px;height:7px;border-radius:50%;background:#a46d13}.dj-meta-save{border:0;background:transparent;padding:4px;color:#8b5200;font:inherit;font-weight:700;cursor:pointer}.dj-meta-save:hover{text-decoration:underline}.dj-meta-save:disabled,[data-save-pending]:disabled{cursor:not-allowed;opacity:.6}.dj-preservation>small{color:var(--dj-night);font-size:.75rem;text-align:center}

.dj-journal-strip { padding: 20px 24px; }
.dj-journal-strip__heading p,
.dj-journal-strip__heading > div:last-child { color: var(--dj-muted); }
.dj-journal-fields { gap: 12px; margin-top: 16px; }
.dj-journal-fields > button {
    min-height: 72px;
    border-color: #dfc8c1;
    border-radius: 6px;
    background: #fffdfc;
    padding: 12px;
}
.dj-journal-fields > button:hover { border-color: var(--dj-warm-line); background: var(--dj-warm-surface); }
.dj-journal-fields > button > span { background: #f6eeeb; color: var(--dj-muted); }
.dj-journal-fields small { color: var(--dj-muted); }
.dj-journal-fields strong { color: var(--dj-danger); }
.dj-ai-offer { border-color: var(--dj-warm-line); border-radius: 6px; background: var(--dj-warm-surface); }
.dj-ai-offer strong { color: var(--dj-night); }
.dj-ai-offer span { color: var(--dj-muted); }

/* Detail questionnaire dialog matches the 760px prototype overlay. */
.dj-details-dialog {
    border: 1px solid var(--dj-line);
    border-radius: 8px;
    background: #fff;
    color: var(--dj-ink);
    box-shadow: 0 18px 55px rgba(48, 22, 59, .2);
}
.dj-details-dialog::backdrop { background: rgba(48, 22, 59, .48); }
.dj-details-dialog > .dj-dialog-close { top: 12px; right: 12px; width: 44px; height: 44px; background: var(--dj-soft); color: var(--dj-night); }
.dj-detail-topline > span:last-child,
.dj-detail-question > p,
.dj-detail-summary__heading > span:last-child,
.dj-detail-save-status,
.dj-answer-row { color: var(--dj-muted); }
.dj-detail-progress { background: #f3e6ca; }
.dj-detail-progress span { background: var(--dj-accent); }
.dj-detail-question h2 { color: var(--dj-night); }
.dj-detail-option,
.dj-detail-extra,
.dj-sleep-times { border-color: var(--dj-line); border-radius: 6px; }
.dj-detail-option:hover,
.dj-detail-option.is-selected { border-color: var(--dj-accent); background: var(--dj-warm-surface); }
.dj-detail-option input:checked { border-color: var(--dj-accent-dark); }
.dj-detail-summary,
.dj-answer-row { border-color: var(--dj-line); }
.dj-answer-row strong { color: var(--dj-danger); }

@media (max-width: 1000px) {
    .dj-result-grid { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .dj-grid,
    .dj-new-grid { grid-template-columns: 1fr; }
    .dj-heading { margin-top: 16px; }
}
@media (max-width: 700px) {
    .dj-result-page { margin-top: 16px; }
    .dj-result-header h1 { font-size: 1.875rem; }
    .dj-result-panel { padding: 20px; }
    .dj-preservation { margin: 8px -20px -20px; padding: 20px; }
}
@media (max-width: 640px) {
    .dj-shell { margin-top: 16px; padding: 0 16px 40px; }
    .dj-card { padding: 20px; }
}
